tan-cli 0.7.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 (330) hide show
  1. tan/__init__.py +0 -0
  2. tan/__main__.py +120 -0
  3. tan/cli.py +939 -0
  4. tan/command_table.py +265 -0
  5. tan/commands/__init__.py +8 -0
  6. tan/commands/bootstrap_cmd.py +4856 -0
  7. tan/commands/bootstrap_patches.py +164 -0
  8. tan/commands/bootstrap_toolchain_fetch.py +155 -0
  9. tan/commands/bootstrap_toolchain_pin.py +36 -0
  10. tan/commands/build/__init__.py +1 -0
  11. tan/commands/build/configure_inputs.py +277 -0
  12. tan/commands/build/execute.py +1852 -0
  13. tan/commands/build/host_python.py +59 -0
  14. tan/commands/build/link_stale.py +78 -0
  15. tan/commands/build/manifest.py +428 -0
  16. tan/commands/build/materialise.py +81 -0
  17. tan/commands/build/token_substitution.py +381 -0
  18. tan/commands/build/toolchain.py +482 -0
  19. tan/commands/build/user_defines_wipe.py +115 -0
  20. tan/commands/build/workspace_patches.py +65 -0
  21. tan/commands/build_cmd.py +2236 -0
  22. tan/commands/build_output.py +331 -0
  23. tan/commands/clean_cmd.py +1183 -0
  24. tan/commands/completion_cmd.py +786 -0
  25. tan/commands/debug_config_cmd.py +2425 -0
  26. tan/commands/diff_cmd.py +940 -0
  27. tan/commands/doctor_cmd.py +4767 -0
  28. tan/commands/examples_cmd.py +644 -0
  29. tan/commands/explain_cmd.py +1319 -0
  30. tan/commands/faultdecode_cmd.py +931 -0
  31. tan/commands/flash_atoc_guard.py +240 -0
  32. tan/commands/flash_cmd.py +5731 -0
  33. tan/commands/flash_mram_guard.py +150 -0
  34. tan/commands/flash_ram.py +578 -0
  35. tan/commands/flash_raw.py +583 -0
  36. tan/commands/generate_cmd.py +1456 -0
  37. tan/commands/image_cmd.py +753 -0
  38. tan/commands/init_cmd.py +1740 -0
  39. tan/commands/inspect_cmd.py +377 -0
  40. tan/commands/kconfig_cmd.py +734 -0
  41. tan/commands/model_cmd.py +1514 -0
  42. tan/commands/model_device_cmd.py +351 -0
  43. tan/commands/model_device_live.py +234 -0
  44. tan/commands/model_host_cmd.py +430 -0
  45. tan/commands/model_zoo_cmd.py +363 -0
  46. tan/commands/monitor_actions.py +125 -0
  47. tan/commands/monitor_cmd.py +626 -0
  48. tan/commands/monitor_session.py +505 -0
  49. tan/commands/new_som_cmd.py +1522 -0
  50. tan/commands/pinmux_cmd.py +568 -0
  51. tan/commands/presets_cmd.py +1123 -0
  52. tan/commands/probe_cmd.py +421 -0
  53. tan/commands/reset_cmd.py +354 -0
  54. tan/commands/reset_confirm.py +168 -0
  55. tan/commands/run_cmd.py +637 -0
  56. tan/commands/scaffold_cmd.py +490 -0
  57. tan/commands/sdk_cmd.py +1723 -0
  58. tan/commands/size_cmd.py +1020 -0
  59. tan/commands/support_bundle_cmd.py +1073 -0
  60. tan/commands/trace_cmd.py +341 -0
  61. tan/commands/validate_cmd.py +2009 -0
  62. tan/commands/west_forward_cmd.py +736 -0
  63. tan/commands/workspace_patch_check.py +296 -0
  64. tan/core/__init__.py +1 -0
  65. tan/core/alp_conf_pregen.py +100 -0
  66. tan/core/artifact_provenance.py +240 -0
  67. tan/core/atoc_guard.py +276 -0
  68. tan/core/atoc_guard_messages.py +232 -0
  69. tan/core/atoc_replacement.py +118 -0
  70. tan/core/atomic_write.py +178 -0
  71. tan/core/board_context.py +351 -0
  72. tan/core/board_diagnostic.py +111 -0
  73. tan/core/board_files.py +221 -0
  74. tan/core/board_validator.py +542 -0
  75. tan/core/board_validator_compat.py +196 -0
  76. tan/core/board_validator_run.py +129 -0
  77. tan/core/board_validator_schema.py +186 -0
  78. tan/core/board_validator_skew.py +46 -0
  79. tan/core/board_yaml_edit.py +295 -0
  80. tan/core/board_yaml_pos.py +118 -0
  81. tan/core/bootstrap.py +2572 -0
  82. tan/core/build_plan.py +625 -0
  83. tan/core/consent.py +104 -0
  84. tan/core/console_filter.py +245 -0
  85. tan/core/debug_launch.py +1803 -0
  86. tan/core/devicetree_lint.py +168 -0
  87. tan/core/dir_removal.py +229 -0
  88. tan/core/doctor_git.py +172 -0
  89. tan/core/doctor_libraries.py +253 -0
  90. tan/core/doctor_render.py +185 -0
  91. tan/core/doctor_scope.py +66 -0
  92. tan/core/doctor_setools.py +237 -0
  93. tan/core/doctor_stale.py +180 -0
  94. tan/core/document_guards.py +723 -0
  95. tan/core/dp_id.py +97 -0
  96. tan/core/elf_load.py +63 -0
  97. tan/core/error_catalog.py +171 -0
  98. tan/core/example_catalog.py +499 -0
  99. tan/core/example_facets.py +151 -0
  100. tan/core/faultdecode.py +521 -0
  101. tan/core/flash_plan.py +2501 -0
  102. tan/core/flow_d_report.py +381 -0
  103. tan/core/flow_d_uptime.py +164 -0
  104. tan/core/fs_confine.py +130 -0
  105. tan/core/global_flags.py +230 -0
  106. tan/core/host_python.py +210 -0
  107. tan/core/image_bundle.py +247 -0
  108. tan/core/inert.py +147 -0
  109. tan/core/jlink_binary.py +128 -0
  110. tan/core/jlink_probe.py +481 -0
  111. tan/core/jsonc_splice.py +404 -0
  112. tan/core/launch_provenance.py +257 -0
  113. tan/core/link_refusal.py +76 -0
  114. tan/core/metadata_schema.py +376 -0
  115. tan/core/model_check.py +227 -0
  116. tan/core/model_device.py +449 -0
  117. tan/core/model_doctor.py +198 -0
  118. tan/core/model_host.py +48 -0
  119. tan/core/model_list.py +112 -0
  120. tan/core/model_zoo.py +353 -0
  121. tan/core/module_template.py +340 -0
  122. tan/core/mram_link.py +87 -0
  123. tan/core/new_som_ospi.py +94 -0
  124. tan/core/os_class.py +159 -0
  125. tan/core/patch_paths.py +87 -0
  126. tan/core/pending.py +40 -0
  127. tan/core/plain_zephyr_plan.py +138 -0
  128. tan/core/plan_exec.py +373 -0
  129. tan/core/plan_tokens.py +600 -0
  130. tan/core/probe.py +155 -0
  131. tan/core/probe_plan.py +237 -0
  132. tan/core/proxy.py +168 -0
  133. tan/core/publish.py +31 -0
  134. tan/core/python_floor.py +178 -0
  135. tan/core/ram_run.py +694 -0
  136. tan/core/ram_watch.py +231 -0
  137. tan/core/raw_write.py +160 -0
  138. tan/core/reset_plan.py +56 -0
  139. tan/core/run.py +161 -0
  140. tan/core/scaffold.py +2203 -0
  141. tan/core/scaffold_selftest_identity.py +225 -0
  142. tan/core/sdk_default_registry.py +565 -0
  143. tan/core/sdk_discovery.py +996 -0
  144. tan/core/sdk_removal.py +465 -0
  145. tan/core/serial_actions.py +175 -0
  146. tan/core/serial_capture.py +185 -0
  147. tan/core/serial_url.py +45 -0
  148. tan/core/setools.py +608 -0
  149. tan/core/setools_scratch.py +243 -0
  150. tan/core/shapes.py +194 -0
  151. tan/core/size.py +610 -0
  152. tan/core/som_buildability.py +204 -0
  153. tan/core/som_schema_version.py +62 -0
  154. tan/core/subprocess_env.py +201 -0
  155. tan/core/sysbuild_image.py +94 -0
  156. tan/core/system_manifest.py +827 -0
  157. tan/core/text_layout.py +73 -0
  158. tan/core/timestamp.py +182 -0
  159. tan/core/tool_lookup.py +383 -0
  160. tan/core/toolchain_pin.py +117 -0
  161. tan/core/toolchain_provision.py +1224 -0
  162. tan/core/trusted_path.py +134 -0
  163. tan/core/uboot_breakin.py +154 -0
  164. tan/core/uri_reference.py +415 -0
  165. tan/core/user_defines.py +152 -0
  166. tan/core/venv.py +332 -0
  167. tan/core/west_patches.py +143 -0
  168. tan/core/west_workspace_refusal.py +159 -0
  169. tan/core/zephyr_env.py +124 -0
  170. tan/env.py +185 -0
  171. tan/envelope.py +647 -0
  172. tan/exit_codes.py +12 -0
  173. tan/lazy_typer.py +185 -0
  174. tan/model/__init__.py +2 -0
  175. tan/model/_gen_fixture.py +132 -0
  176. tan/model/adapters/__init__.py +116 -0
  177. tan/model/adapters/cpu.py +26 -0
  178. tan/model/adapters/deepx.py +94 -0
  179. tan/model/adapters/drpai.py +242 -0
  180. tan/model/adapters/ethos_u.py +951 -0
  181. tan/model/adapters/executorch.py +55 -0
  182. tan/model/analyze.py +694 -0
  183. tan/model/build.py +304 -0
  184. tan/model/check.py +682 -0
  185. tan/model/manifest.py +625 -0
  186. tan/model/measure.py +216 -0
  187. tan/model/npu_ops_validate.py +130 -0
  188. tan/model/package.py +125 -0
  189. tan/model/perf.py +635 -0
  190. tan/model/perf_apply.py +721 -0
  191. tan/model/prep.py +193 -0
  192. tan/model/sram_fit.py +502 -0
  193. tan/model/targets.py +374 -0
  194. tan/model/tensorio.py +287 -0
  195. tan/net.py +73 -0
  196. tan/output_format.py +213 -0
  197. tan/planner/__init__.py +219 -0
  198. tan/planner/aperture.py +202 -0
  199. tan/planner/buildplan.py +1092 -0
  200. tan/planner/camera_owner.py +192 -0
  201. tan/planner/cameras.py +132 -0
  202. tan/planner/carveout.py +755 -0
  203. tan/planner/cli.py +274 -0
  204. tan/planner/headers.py +315 -0
  205. tan/planner/kconfig.py +2435 -0
  206. tan/planner/kconfig_symbols.py +473 -0
  207. tan/planner/libraries.py +677 -0
  208. tan/planner/link_target.py +237 -0
  209. tan/planner/linux_ownership.py +216 -0
  210. tan/planner/loader.py +1525 -0
  211. tan/planner/manifest.py +116 -0
  212. tan/planner/memory.py +161 -0
  213. tan/planner/memregion.py +56 -0
  214. tan/planner/models.py +533 -0
  215. tan/planner/orchestrator.py +874 -0
  216. tan/planner/ownership.py +203 -0
  217. tan/planner/partition.py +1160 -0
  218. tan/planner/paths.py +32 -0
  219. tan/planner/plain_slice.py +139 -0
  220. tan/planner/project_emit/__init__.py +60 -0
  221. tan/planner/project_emit/bom_netlist.py +375 -0
  222. tan/planner/project_emit/dts.py +580 -0
  223. tan/planner/project_emit/hw_info.py +221 -0
  224. tan/planner/project_emit/native_sim.py +136 -0
  225. tan/planner/project_emit/west_libs.py +213 -0
  226. tan/planner/project_loader.py +264 -0
  227. tan/planner/sdk_capability.py +203 -0
  228. tan/planner/sdk_compat.py +395 -0
  229. tan/planner/secure.py +350 -0
  230. tan/planner/slugs.py +394 -0
  231. tan/planner/som_metadata.py +325 -0
  232. tan/planner/strict_loaders.py +131 -0
  233. tan/planner/template.py +1037 -0
  234. tan/planner/template_pins.py +535 -0
  235. tan/planner/template_rewrite.py +714 -0
  236. tan/planner/topology.py +208 -0
  237. tan/planner/validate.py +365 -0
  238. tan/planner/whole_device_alias.py +67 -0
  239. tan/planner/zephyr_board.py +3510 -0
  240. tan/planner_cli.py +97 -0
  241. tan/planner_emit.py +617 -0
  242. tan/planner_root.py +119 -0
  243. tan/soc_ref.py +58 -0
  244. tan/templates/__init__.py +34 -0
  245. tan/templates/vendored/MANIFEST.md +1862 -0
  246. tan/templates/vendored/diagnostics/E1M-AEN801/CMakeLists.txt +8 -0
  247. tan/templates/vendored/diagnostics/E1M-AEN801/README.md +112 -0
  248. tan/templates/vendored/diagnostics/E1M-AEN801/board.yaml +38 -0
  249. tan/templates/vendored/diagnostics/E1M-AEN801/boards/native_sim_native_64.conf +11 -0
  250. tan/templates/vendored/diagnostics/E1M-AEN801/boards/native_sim_native_64.overlay +29 -0
  251. tan/templates/vendored/diagnostics/E1M-AEN801/prj.conf +5 -0
  252. tan/templates/vendored/diagnostics/E1M-AEN801/src/main.c +266 -0
  253. tan/templates/vendored/diagnostics/E1M-AEN801/testcase.yaml +53 -0
  254. tan/templates/vendored/diagnostics/E1M-V2N101/CMakeLists.txt +8 -0
  255. tan/templates/vendored/diagnostics/E1M-V2N101/README.md +112 -0
  256. tan/templates/vendored/diagnostics/E1M-V2N101/board.yaml +38 -0
  257. tan/templates/vendored/diagnostics/E1M-V2N101/boards/native_sim_native_64.conf +11 -0
  258. tan/templates/vendored/diagnostics/E1M-V2N101/boards/native_sim_native_64.overlay +29 -0
  259. tan/templates/vendored/diagnostics/E1M-V2N101/prj.conf +5 -0
  260. tan/templates/vendored/diagnostics/E1M-V2N101/src/main.c +266 -0
  261. tan/templates/vendored/diagnostics/E1M-V2N101/testcase.yaml +53 -0
  262. tan/templates/vendored/edge-ai/E1M-AEN801/CMakeLists.txt +10 -0
  263. tan/templates/vendored/edge-ai/E1M-AEN801/README.md +75 -0
  264. tan/templates/vendored/edge-ai/E1M-AEN801/board.yaml +38 -0
  265. tan/templates/vendored/edge-ai/E1M-AEN801/prj.conf +8 -0
  266. tan/templates/vendored/edge-ai/E1M-AEN801/src/cold_chain.c +371 -0
  267. tan/templates/vendored/edge-ai/E1M-AEN801/src/cold_chain.h +178 -0
  268. tan/templates/vendored/edge-ai/E1M-AEN801/src/main.c +373 -0
  269. tan/templates/vendored/edge-ai/E1M-AEN801/testcase.yaml +62 -0
  270. tan/templates/vendored/edge-ai/E1M-V2N101/CMakeLists.txt +10 -0
  271. tan/templates/vendored/edge-ai/E1M-V2N101/README.md +75 -0
  272. tan/templates/vendored/edge-ai/E1M-V2N101/board.yaml +37 -0
  273. tan/templates/vendored/edge-ai/E1M-V2N101/prj.conf +8 -0
  274. tan/templates/vendored/edge-ai/E1M-V2N101/src/cold_chain.c +371 -0
  275. tan/templates/vendored/edge-ai/E1M-V2N101/src/cold_chain.h +178 -0
  276. tan/templates/vendored/edge-ai/E1M-V2N101/src/main.c +373 -0
  277. tan/templates/vendored/edge-ai/E1M-V2N101/testcase.yaml +62 -0
  278. tan/templates/vendored/iot/E1M-AEN801/CMakeLists.txt +14 -0
  279. tan/templates/vendored/iot/E1M-AEN801/README.md +103 -0
  280. tan/templates/vendored/iot/E1M-AEN801/board.yaml +69 -0
  281. tan/templates/vendored/iot/E1M-AEN801/prj.conf +15 -0
  282. tan/templates/vendored/iot/E1M-AEN801/src/cc3501e_bridge.c +196 -0
  283. tan/templates/vendored/iot/E1M-AEN801/src/cc3501e_bridge.h +173 -0
  284. tan/templates/vendored/iot/E1M-AEN801/src/main.c +262 -0
  285. tan/templates/vendored/iot/E1M-AEN801/testcase.yaml +68 -0
  286. tan/templates/vendored/minimal/E1M-AEN801/CMakeLists.txt +8 -0
  287. tan/templates/vendored/minimal/E1M-AEN801/README.md +108 -0
  288. tan/templates/vendored/minimal/E1M-AEN801/board.yaml +32 -0
  289. tan/templates/vendored/minimal/E1M-AEN801/prj.conf +8 -0
  290. tan/templates/vendored/minimal/E1M-AEN801/src/main.c +111 -0
  291. tan/templates/vendored/minimal/E1M-AEN801/testcase.yaml +49 -0
  292. tan/templates/vendored/minimal/E1M-V2N101/CMakeLists.txt +8 -0
  293. tan/templates/vendored/minimal/E1M-V2N101/README.md +108 -0
  294. tan/templates/vendored/minimal/E1M-V2N101/board.yaml +32 -0
  295. tan/templates/vendored/minimal/E1M-V2N101/prj.conf +8 -0
  296. tan/templates/vendored/minimal/E1M-V2N101/src/main.c +111 -0
  297. tan/templates/vendored/minimal/E1M-V2N101/testcase.yaml +49 -0
  298. tan/templates/vendored/multicore-mailbox/E1M-AEN801/CMakeLists.txt +8 -0
  299. tan/templates/vendored/multicore-mailbox/E1M-AEN801/README.md +120 -0
  300. tan/templates/vendored/multicore-mailbox/E1M-AEN801/board.yaml +57 -0
  301. tan/templates/vendored/multicore-mailbox/E1M-AEN801/boards/native_sim_native_64.overlay +40 -0
  302. tan/templates/vendored/multicore-mailbox/E1M-AEN801/peer/CMakeLists.txt +13 -0
  303. tan/templates/vendored/multicore-mailbox/E1M-AEN801/peer/main.c +171 -0
  304. tan/templates/vendored/multicore-mailbox/E1M-AEN801/peer/prj.conf +17 -0
  305. tan/templates/vendored/multicore-mailbox/E1M-AEN801/peer/testcase.yaml +23 -0
  306. tan/templates/vendored/multicore-mailbox/E1M-AEN801/prj.conf +22 -0
  307. tan/templates/vendored/multicore-mailbox/E1M-AEN801/src/main.c +185 -0
  308. tan/templates/vendored/multicore-mailbox/E1M-AEN801/testcase.yaml +26 -0
  309. tan/templates/vendored/sensor/E1M-AEN801/CMakeLists.txt +8 -0
  310. tan/templates/vendored/sensor/E1M-AEN801/README.md +112 -0
  311. tan/templates/vendored/sensor/E1M-AEN801/board.yaml +57 -0
  312. tan/templates/vendored/sensor/E1M-AEN801/boards/native_sim_native_64.conf +10 -0
  313. tan/templates/vendored/sensor/E1M-AEN801/boards/native_sim_native_64.overlay +28 -0
  314. tan/templates/vendored/sensor/E1M-AEN801/prj.conf +5 -0
  315. tan/templates/vendored/sensor/E1M-AEN801/src/main.c +186 -0
  316. tan/templates/vendored/sensor/E1M-AEN801/testcase.yaml +52 -0
  317. tan/templates/vendored/sensor/E1M-V2N101/CMakeLists.txt +8 -0
  318. tan/templates/vendored/sensor/E1M-V2N101/README.md +112 -0
  319. tan/templates/vendored/sensor/E1M-V2N101/board.yaml +57 -0
  320. tan/templates/vendored/sensor/E1M-V2N101/boards/native_sim_native_64.conf +10 -0
  321. tan/templates/vendored/sensor/E1M-V2N101/boards/native_sim_native_64.overlay +28 -0
  322. tan/templates/vendored/sensor/E1M-V2N101/prj.conf +5 -0
  323. tan/templates/vendored/sensor/E1M-V2N101/src/main.c +186 -0
  324. tan/templates/vendored/sensor/E1M-V2N101/testcase.yaml +52 -0
  325. tan/version.py +102 -0
  326. tan_cli-0.7.0.dist-info/METADATA +125 -0
  327. tan_cli-0.7.0.dist-info/RECORD +330 -0
  328. tan_cli-0.7.0.dist-info/WHEEL +5 -0
  329. tan_cli-0.7.0.dist-info/entry_points.txt +2 -0
  330. tan_cli-0.7.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,125 @@
1
+ Metadata-Version: 2.4
2
+ Name: tan-cli
3
+ Version: 0.7.0
4
+ Summary: The Alp Lab build CLI: one board.yaml to firmware, across MCU and MPU cores.
5
+ Author: Alp Lab AB
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Homepage, https://github.com/alplabai/tan-cli
8
+ Project-URL: Repository, https://github.com/alplabai/tan-cli
9
+ Project-URL: Issues, https://github.com/alplabai/tan-cli/issues
10
+ Keywords: embedded,firmware,zephyr,yocto,som,build
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Environment :: Console
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Topic :: Software Development :: Build Tools
17
+ Classifier: Topic :: Software Development :: Embedded Systems
18
+ Requires-Python: >=3.12
19
+ Description-Content-Type: text/markdown
20
+ Requires-Dist: typer<0.28,>=0.26
21
+ Requires-Dist: rich>=13
22
+ Requires-Dist: pyyaml>=6
23
+ Requires-Dist: jsonschema>=4.18
24
+ Requires-Dist: click>=8.1
25
+ Requires-Dist: truststore>=0.9
26
+ Requires-Dist: certifi>=2024.2.2
27
+ Requires-Dist: cbor2>=5.0
28
+ Provides-Extra: monitor
29
+ Requires-Dist: pyserial>=3.5; extra == "monitor"
30
+ Provides-Extra: model-io
31
+ Requires-Dist: tflite>=2.10; extra == "model-io"
32
+ Requires-Dist: flatbuffers>=23.1.21; extra == "model-io"
33
+ Provides-Extra: model-compile
34
+ Requires-Dist: ethos-u-vela>=3.9; extra == "model-compile"
35
+ Requires-Dist: tflite>=2.10; extra == "model-compile"
36
+ Requires-Dist: flatbuffers>=23.1.21; extra == "model-compile"
37
+ Provides-Extra: model
38
+ Requires-Dist: onnxruntime>=1.30.0; extra == "model"
39
+ Requires-Dist: onnx>=1.16.0; extra == "model"
40
+ Requires-Dist: numpy>=1.26; extra == "model"
41
+ Requires-Dist: sympy>=1.12; extra == "model"
42
+
43
+ # tan
44
+
45
+ The Alp Lab build CLI. One `board.yaml` describes a whole module — every core,
46
+ MCU and MPU alike — and `tan` turns it into firmware.
47
+
48
+ ## Install
49
+
50
+ Install from a checkout. `tan` is **not on PyPI yet** — the distribution has
51
+ never been published, so a `pip install` of it answers `ERROR: No matching
52
+ distribution found`. The decision to publish there HAS now been taken
53
+ (tan-cli#1054: PyPI is the sole standalone install channel, and the npm shim is
54
+ retired), and `.github/workflows/release.yml` carries a `publish_pypi` job — but
55
+ it is opt-in and off, waiting on the repository variable `TAN_PYPI_PUBLISH` and
56
+ a pending publisher configured on pypi.org. Until the first final tag uploads
57
+ under that arrangement, a checkout install is the only path.
58
+
59
+ On a PEP 668 host (Debian/Ubuntu, including stock `ubuntu:24.04`), installing
60
+ straight into the system interpreter refuses with
61
+ `error: externally-managed-environment`; install into a virtual environment
62
+ instead. Debian/Ubuntu's `python3` package does not include `venv` either --
63
+ `sudo apt-get install -y python3-venv` first, on those hosts:
64
+
65
+ ```bash
66
+ git clone https://github.com/alplabai/tan-cli && cd tan-cli
67
+ python3 -m venv .venv && source .venv/bin/activate # Linux / macOS
68
+ py -m venv .venv && .venv\Scripts\Activate.ps1 # Windows
69
+ python3 -m pip install ./python # Linux / macOS
70
+ py -m pip install ./python # Windows
71
+ ```
72
+
73
+ ```bash
74
+ tan --version
75
+ tan init # scaffold a project (add --preview to see the plan first)
76
+ tan doctor # is this host able to build and flash?
77
+ tan build # build every core the module declares
78
+ ```
79
+
80
+ Add the `monitor` extra — `pip install "./python[monitor]"` — if you want `tan
81
+ monitor`; it needs pyserial, which a default install leaves out.
82
+
83
+ **Use `-m pip`, not a bare `pip` or `pip3`.** `tan` requires Python **3.12 or
84
+ newer**, and on a machine with several interpreters a bare `pip` can install into
85
+ a different one than the `python3` you will actually build with — on Windows,
86
+ `python3` is frequently the Microsoft Store stub rather than a real interpreter.
87
+ `python3 -m pip` cannot drift from the interpreter that runs it, so the
88
+ `requires-python = ">=3.12"` check either passes honestly or refuses that
89
+ interpreter, instead of installing somewhere you will not find it. (An old
90
+ `setuptools` on the wrong interpreter can fail earlier and for a different
91
+ reason — `project.license` must be valid exactly by one definition, measured
92
+ here on setuptools 68-era metadata handling; that is tan-cli#382, not a version
93
+ mismatch.)
94
+
95
+ **Not building from source?** Every version tag publishes a prebuilt archive per
96
+ platform, and `install.sh` / `install.ps1` fetch and verify one for you — see
97
+ the root [`README.md`](../README.md#install). That is the supported path for
98
+ someone who just wants the command.
99
+
100
+ `tan init` needs no alp-sdk checkout: the scaffold templates ship inside `tan`.
101
+ Most planning/build commands do need a checkout for metadata, schemas, examples,
102
+ and tooling; pass it with `--sdk-root` or place it beside the project.
103
+
104
+ The distribution is not named `tan` because that name is already taken on PyPI
105
+ (an unrelated code formatter); the command you run is still `tan`. Reserving a
106
+ name is not the same as occupying it — nothing is uploaded yet under any of
107
+ them.
108
+
109
+ ## What it does
110
+
111
+ `tan` contains both the relocated planner and the executor. It produces a build
112
+ plan from your `board.yaml` plus alp-sdk metadata, then drives the right tool for
113
+ each core — `west` for Zephyr on Cortex-M, `bitbake` for Yocto on Cortex-A,
114
+ `cmake` for bare metal. You never pick an OS or a toolchain; both are derived
115
+ from each core's architecture.
116
+
117
+ ## Requirements
118
+
119
+ Python 3.12 or newer — the floor Zephyr's own CMake configure enforces. Run
120
+ `tan doctor` to check the rest of the host; it names what is missing and where
121
+ to get it.
122
+
123
+ ## Licence
124
+
125
+ Apache-2.0.
@@ -0,0 +1,330 @@
1
+ tan/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ tan/__main__.py,sha256=O3nOf7bzpTpIlRZLze_jm5G9wjmy2SnAugwA67pZT_I,5180
3
+ tan/cli.py,sha256=uptXTdk0-dvUJqfTdE6ZcrBJ073CBl5Xa45IVS5DsNk,51776
4
+ tan/command_table.py,sha256=PHhfgjhJSImrnBWvbWuy9c6nKqQzGkXl_7LloZq7Nys,7487
5
+ tan/env.py,sha256=ho0j0XS9hkluwCQFInLJes_xyC_wp6MedFHwmmiwsmE,9467
6
+ tan/envelope.py,sha256=vhk3Gwo8lxZxZZyEgbkgL-5FzJZFCPn8ucJ7M922rQ0,33793
7
+ tan/exit_codes.py,sha256=Q0giRMD-3cXjOdDB2MPH0QL42Lo89GB8uq-K6fzsfL4,294
8
+ tan/lazy_typer.py,sha256=e76A2BPgaPqCEFffu87H3134piVaiP-IhbXYpMuCSnM,7129
9
+ tan/net.py,sha256=mT44a4M0902bcQymFx9QQCRySeqWTIJqzMiEUUkL7J4,3982
10
+ tan/output_format.py,sha256=RxCoyVAw14r1q60otOlA-tiCVEBi_LT1HJPVE9MW5eY,9749
11
+ tan/planner_cli.py,sha256=f-bKAk_97Y89QzLs2aVUfO0th-Ydo-Uu0vdODNoF2L4,3652
12
+ tan/planner_emit.py,sha256=617sOnwFaOa5D-SbL6foQlhKY2bfdqQ4yDiBdE449oM,28341
13
+ tan/planner_root.py,sha256=Q2LN8n70OxkYu5LslBYxD5-7DoqTy2RDvhaOBlb1YyU,5660
14
+ tan/soc_ref.py,sha256=f_Nze88_ErAgZ432NKJ406kPSziQj_4stY_UGus1Ubc,3120
15
+ tan/version.py,sha256=4_ldlPrB1mKP4m35vFJATi8n9LijP-jYVp9HFj9GJPQ,6533
16
+ tan/commands/__init__.py,sha256=7MgSYXWjl_MBAXBXULKy-hcFO_-ewW4mPH7xQvvpoO4,369
17
+ tan/commands/bootstrap_cmd.py,sha256=9MDft0z93ff_F2NpL5VEUfGfko5rLKWfZrgKQ-gEJz8,238672
18
+ tan/commands/bootstrap_patches.py,sha256=cPkEOfHff5f7J2Uk80mqKYJfppXM_Ie3lB2U5GUZLuU,7005
19
+ tan/commands/bootstrap_toolchain_fetch.py,sha256=U7zDusmV8P_9RbxfCRPm120BZPYp_LAUxBPyDE5mU5s,6355
20
+ tan/commands/bootstrap_toolchain_pin.py,sha256=5NM3B0eRdDGlOrvOmNhrBObOklCW7k6eTjqG_fI_vDs,1550
21
+ tan/commands/build_cmd.py,sha256=-1qmX0IKtvHHKG7eCPCVjaSamJa_0ONQwTzwSd1dSo4,114920
22
+ tan/commands/build_output.py,sha256=lPTP9_kTRK4-TWWUQ6ec_iT_tDWjqZzDloeIhcdtQOo,15366
23
+ tan/commands/clean_cmd.py,sha256=mTwqSG94WirWWJaHWIvhFYMgxVXhQZAr4HVwbEspo1g,55783
24
+ tan/commands/completion_cmd.py,sha256=Ivk0ekrfYMR2a6lEhEdvk7DkZhxmkERCWarm5knhkLc,41390
25
+ tan/commands/debug_config_cmd.py,sha256=tONzwPqin-ncLHXmILRHBXBzOL38pzZXFLuv3QDbbyc,121785
26
+ tan/commands/diff_cmd.py,sha256=rzHZ2OkWyQBlUJuX8KsjrjVODsVS9GF4BgL47IyFOws,44843
27
+ tan/commands/doctor_cmd.py,sha256=Vdi86YpKdGu_aquS5QzhsouFPUMWXMBDI7JVoGGHkEM,243559
28
+ tan/commands/examples_cmd.py,sha256=K16rBL1Ui0tMqp-yKQEOZ_M5zK8vmziiJtx-sjN_Dcg,30127
29
+ tan/commands/explain_cmd.py,sha256=cGpxCgJuw2ueIWuEBeJaNnHuv7Aya7eSCFXBqfgOuDc,62538
30
+ tan/commands/faultdecode_cmd.py,sha256=y2_Wh1HJNssi-h5Jtf6TvdH1xha8VNLtSUfRUojjCgI,46427
31
+ tan/commands/flash_atoc_guard.py,sha256=OPsC1tZgS9x8qzJnlSd8_2LzKA4UhLIoH9ahfEu9W4E,10585
32
+ tan/commands/flash_cmd.py,sha256=4MsuPpfElhYHpQqL4gy0IquZdnngAm5GosBbrypK8R8,299182
33
+ tan/commands/flash_mram_guard.py,sha256=8qeT0cpkyXCn3OfOb2RUtuFZM2ym9BFIXvaFl2TKsdw,7469
34
+ tan/commands/flash_ram.py,sha256=Bbsty__qNBhLyGAqBWJGIxcJlwpeDQpGx4scP-c8krU,27328
35
+ tan/commands/flash_raw.py,sha256=x48FpNYKkeikC4JDfrfADPp0Lc_wnN9xjQNhNuwbZfk,27240
36
+ tan/commands/generate_cmd.py,sha256=fFb-wcWLzrJoi8y2J1kaWkrE-gDNSuXfi8FxBq-1A4E,68987
37
+ tan/commands/image_cmd.py,sha256=KBpFXrQuXY_uPoG4jXw78JfG473IxcL9bNftklI3ddg,32345
38
+ tan/commands/init_cmd.py,sha256=i5CJnZ6NiQPFYUssnXLT0V5Z6bI9rSloOx5kr4V5Ns0,85798
39
+ tan/commands/inspect_cmd.py,sha256=y23CNedR-u85zZaiKsF5F8JD-TNNOjfQHrqWH-xIliw,17179
40
+ tan/commands/kconfig_cmd.py,sha256=7AxG6BEbFGQSwacNLhqjdLcwJQtjlsXziM7YCIXiz-w,33188
41
+ tan/commands/model_cmd.py,sha256=9soYbtMOT04h57vFOSwpmvw1Su-f6UCs4V3iewoOTU0,74707
42
+ tan/commands/model_device_cmd.py,sha256=5ccTNIRc8L3lX7p3yfas4WK8OM2qVtNxagGv0a3mLi4,15453
43
+ tan/commands/model_device_live.py,sha256=F-_mUzoWbW8hh-QSxzcfBVFh__YRTfZAFUG0q5t8D1w,10157
44
+ tan/commands/model_host_cmd.py,sha256=J7e0ApN5MqKJ80RESS6VyLlrwIakX846f__gjcv-iSA,17013
45
+ tan/commands/model_zoo_cmd.py,sha256=N-asipzAXD69HUJoDBVbpIMixj0xy4omYKOjN_iFehM,14101
46
+ tan/commands/monitor_actions.py,sha256=iZuLH2BL5xYhub3IobvoxaphHVvgSNqQgsb8jGTnf0U,4886
47
+ tan/commands/monitor_cmd.py,sha256=2KrGtDuvaO8EnkZdsjhDD0wn6Hozy43UdbdUl6ui3hA,29444
48
+ tan/commands/monitor_session.py,sha256=rPQeApfjd7WP5uCUVcXSCM-XeuiZPE4P3-BlriTyBhc,19981
49
+ tan/commands/new_som_cmd.py,sha256=HSELLNVPYGVPxJDWRbAv7eQaRumikGTFK1JJR9Kc8n0,74968
50
+ tan/commands/pinmux_cmd.py,sha256=nfNoMwRuxu1sUXLwSrdOD85Qb5_NL4Mli0FbG3zbm4o,26444
51
+ tan/commands/presets_cmd.py,sha256=-7Cx_QsJVbVXN4Vj9F0tXJbCFOvwVGIzl2a6re9z3QA,53610
52
+ tan/commands/probe_cmd.py,sha256=BgncSSRvW0PwIREPDAQIbm1nIKwsgTWNcCWB-C52HGU,19992
53
+ tan/commands/reset_cmd.py,sha256=8Os8LOPkhvRjXxk943g4YzFA3wmbLt62TZtgP0Efcn4,18300
54
+ tan/commands/reset_confirm.py,sha256=SOzYbTwqMhLgnMudRVvkWKMoX_FLXqJokMLxIpQVEkA,6826
55
+ tan/commands/run_cmd.py,sha256=OIy8IyBwwDk39nV0O5qhsxmJGfd8dPpQ23Any0XlHBQ,32274
56
+ tan/commands/scaffold_cmd.py,sha256=UHLaT74ZNrGaC5ojcujYJ_GtCvmNEhtptIv8dTgeOgA,20498
57
+ tan/commands/sdk_cmd.py,sha256=y1P2m4ZTdjbkYwLwmhq_EAzwVR0_7zzN91Dt7z-1JbI,82159
58
+ tan/commands/size_cmd.py,sha256=ONqRw58f-fdbFB70pEa1GNVI5GNYelplu8LJofsnlUI,43522
59
+ tan/commands/support_bundle_cmd.py,sha256=-pmPYQu7M67DocbWtSqp7LAEUjG25V2esquCj-SxOO4,47705
60
+ tan/commands/trace_cmd.py,sha256=LUQi3EgacnIAB5dEmxjjSck_U4cuJukdTHLCols_Akc,14156
61
+ tan/commands/validate_cmd.py,sha256=sOTXIl0q3j9wZcUMBel2L0uBKpbfFW9mtNZfB6LujiU,106724
62
+ tan/commands/west_forward_cmd.py,sha256=OtYbeb08DC5RjDKHuewqjG_RWw3CRINubIYUUj1bI7c,36853
63
+ tan/commands/workspace_patch_check.py,sha256=O-ppWhnv3yl6YPlgr0T-zyrrsZFpHTDLNGfE91ojqK8,11918
64
+ tan/commands/build/__init__.py,sha256=bG7Ffen4LvQtgnYPFEpFccsWs81t4zqqeqn9ZeirH6E,38
65
+ tan/commands/build/configure_inputs.py,sha256=1VsuR7xLDMFa-uloDp7Sa3apynQCTeO5EQB1Ic9DH7c,14492
66
+ tan/commands/build/execute.py,sha256=2NGLotZmAlk1-LkjrRYvYMkRBNnXcuFHyq6M-kNmF2U,98990
67
+ tan/commands/build/host_python.py,sha256=4oUPv7Pc0PFSuqIwTFuR878kCvuV_hjmVQrUWuOc_Gg,2462
68
+ tan/commands/build/link_stale.py,sha256=FG8o0YHd6t6kEDA5kDZEWVryZvlK0HBJDsaE0qgK3-E,3265
69
+ tan/commands/build/manifest.py,sha256=3qxGQ0DQXNXwap_ir4KQIPqWwLHKkKcfxMQ81Muy3-g,21750
70
+ tan/commands/build/materialise.py,sha256=WEVn9aUV3k1kJBLYLp0f4uLnLksobziujWZi_FuKH0g,3780
71
+ tan/commands/build/token_substitution.py,sha256=MLsCy-iiFPWI4G5q56B_UhEGdu5viUzQH2iYSWoKqCU,17700
72
+ tan/commands/build/toolchain.py,sha256=xppj53pMQXBWz0HWWfFf0ucoUtNxAlf17HGx4AfI8IE,24621
73
+ tan/commands/build/user_defines_wipe.py,sha256=bFwoiJUBlF4oMXFH8v9q6DIaUrCDZ9SoDQ5bi4MQZpI,4899
74
+ tan/commands/build/workspace_patches.py,sha256=KvSP2zLI-cMTsflM6bWMy5s_uEAFinRQv6DghXdqbbg,2839
75
+ tan/core/__init__.py,sha256=bG7Ffen4LvQtgnYPFEpFccsWs81t4zqqeqn9ZeirH6E,38
76
+ tan/core/alp_conf_pregen.py,sha256=8vd85J1X-pkfEiUJ_2yWpaPxXISSV88cnlogklSqX9k,4281
77
+ tan/core/artifact_provenance.py,sha256=qOBmlD_w31M36Z2Y6sffBeiCCR4KTQcIXHwQ9yAoLyA,11549
78
+ tan/core/atoc_guard.py,sha256=kFbMuuDY_EZTCR2YxmmMBCiK0E8r7DMFK6WCsvLrdgs,12138
79
+ tan/core/atoc_guard_messages.py,sha256=xquIl1aRV7_bnYUiY-6ok3oaTqG6TYm6dJiJxRlAquA,11494
80
+ tan/core/atoc_replacement.py,sha256=-Ogzv4Rbo05uDMuAh8SitZNLRvlOsIh5BzI6sfiq3qI,5120
81
+ tan/core/atomic_write.py,sha256=TTDPRor58cfrZfbRDkoN2WowvMCGNuK319ePqOqYxtQ,8965
82
+ tan/core/board_context.py,sha256=rCIZXMqJjr494VLqLaGNE6Rt0yeL_AQL4TvTafVQp_M,19493
83
+ tan/core/board_diagnostic.py,sha256=ks3F4Sps9a-ccxJ5yjyUmzHStILEevpmMHxwaYGcG58,3366
84
+ tan/core/board_files.py,sha256=komO1Mrq3xWL9VzJhkoJxjkp-9KYfOX3EeouJWntDYg,8903
85
+ tan/core/board_validator.py,sha256=lBROQzg7I0xldSwaU4BTSbae4fuhONGaVFtxRI6eXno,22899
86
+ tan/core/board_validator_compat.py,sha256=dw0QW94EPUgFWUHYP2aEV7LkEZLPy-mXIgl_m4xeOMA,8205
87
+ tan/core/board_validator_run.py,sha256=skPLXvYA7Bru6WL_wfD2rCoURSXiJtGkZ2-NJ5MWM0Y,4890
88
+ tan/core/board_validator_schema.py,sha256=Mw9PZpmKH4VhkW7C2PsFhIx5yS8IGkjdlq4dIpRkFZE,6599
89
+ tan/core/board_validator_skew.py,sha256=aclN5yOloKClMKPAJoTSYSxBgStHHu9UNC-0oEoYYyA,2066
90
+ tan/core/board_yaml_edit.py,sha256=GN_GKM5zM9diPtqC76LGHQbhNnUDG9IdZej4QtxQJrw,12513
91
+ tan/core/board_yaml_pos.py,sha256=CAZnyRootDgwBMA_tYxm12qqPhCEVQH8N73LG8ztwMY,4466
92
+ tan/core/bootstrap.py,sha256=z3_wxS2U2-PDB1aXma3OIU_e-Bvk8J9xVUBvKXAQISU,123018
93
+ tan/core/build_plan.py,sha256=AMBlbBPrjVZNuB97anC0kIEYGLZSjkDLhrPlqrCrA0I,30064
94
+ tan/core/consent.py,sha256=D8Ptf-gWME7KtFzp3Bq8e3-6Rcq3tzy1jM9Wx1JJqfU,5989
95
+ tan/core/console_filter.py,sha256=vTrboTI-_COQ7K_w5NA1NAlqlCejxKUozmjZDFiUwzY,9365
96
+ tan/core/debug_launch.py,sha256=zbHlW3hkSZNELKutqu-osd5AJVMnPH126A0B8Xpr6D8,88969
97
+ tan/core/devicetree_lint.py,sha256=JMrRHd8ThSVAWJCmFpNY3whqdUSINNkPKYFw2wQ-y6M,8308
98
+ tan/core/dir_removal.py,sha256=Atoec6mjV2PUz6sTxTVFDWp3_9BECTYbCUobttVwKAg,11918
99
+ tan/core/doctor_git.py,sha256=RSQrM46cfYBF0tSHaokJG4sUPZhv3nPVF3OA3OGfgt8,7942
100
+ tan/core/doctor_libraries.py,sha256=YgmcxC4SJbX5OQXeneSxZ0noJs8SUFSU0bn6DhnZAYY,11615
101
+ tan/core/doctor_render.py,sha256=OtOVxmPPBDSxN8aaoRA1gfP4SFLV7nhZVtYv847HuJ8,8330
102
+ tan/core/doctor_scope.py,sha256=DOgX0mInWK4f7oy6ugqBSV7mjHDxI6Z4vDwiffqOJQE,3526
103
+ tan/core/doctor_setools.py,sha256=ocrjfkWAiKpbKudm0tSqp1URRkgnQI1yoBKMtd9YGCA,9441
104
+ tan/core/doctor_stale.py,sha256=FKBVHR57tSlGvE9Sg5pJD0AjZq3w2AuuULKvIwTORHY,6680
105
+ tan/core/document_guards.py,sha256=6bQd-pQNSTzyw8ifymiaYB4AVx2S9nQIO9AfOOTNJxA,40693
106
+ tan/core/dp_id.py,sha256=q8TsuRWXRDKTnRFdmpjDNzA30ozaMrwsoDamF2GWyGI,5343
107
+ tan/core/elf_load.py,sha256=HRF-YL8KiuTdUAzHHbcDTbfZNmHLJkdzNp1t3p192A8,2326
108
+ tan/core/error_catalog.py,sha256=2aAzlARy8YmQr7NJH4RLrty5pp1dXTrQVVWC7jnWXrU,7452
109
+ tan/core/example_catalog.py,sha256=NfSTPjiAsANmaNlq2f8SMAlykZkW26co4vQIvBZwYtk,26112
110
+ tan/core/example_facets.py,sha256=HAD4_ZoXNLwgYN9gIPalovny33g35JlY2rDH5g-wrmE,6770
111
+ tan/core/faultdecode.py,sha256=G_YROg-T0BPdpGF1cPq_22brwAr8rdboR_nAJkPw5L4,24197
112
+ tan/core/flash_plan.py,sha256=MrBsbVqZE9Gypdv-ginHuqctigmxq9kVM391jLTLltg,126631
113
+ tan/core/flow_d_report.py,sha256=cCDyT4xYNMQsWoTVl-SKz-USekZsIOwTWZCzpT1BcN8,17445
114
+ tan/core/flow_d_uptime.py,sha256=d2ZyhgniiH0kGm6KuMJ713UC4Tzj65hLSeQX00_WtjI,8000
115
+ tan/core/fs_confine.py,sha256=iN6papg7neVv7JFc3N6owmKvNZDN3rQgiskld0WJ9Dk,6808
116
+ tan/core/global_flags.py,sha256=hvjY-2pxs_wBQ10-vEpDlyEwzEcruSX7rWrmLB-FlaI,12145
117
+ tan/core/host_python.py,sha256=qQbubMXyZLqYUD6uDLKuUme3IvCFCH6GMuz3Wujoudo,8753
118
+ tan/core/image_bundle.py,sha256=kU5JRWfcIaqaNs_rt0iHbaXlzY09XwlTBKNuYHxswsc,10823
119
+ tan/core/inert.py,sha256=QzJmUQBuznmZ9J9qM5OMhno_374MYMpwvj_GgpqyQIg,7781
120
+ tan/core/jlink_binary.py,sha256=Rmn7Epp0jKsCZhzazNTSLLtx7vneY2VgTL0NIi3sfCk,5227
121
+ tan/core/jlink_probe.py,sha256=knTqOQm9UJ3E0RCs60CkPcsGE8c7lCHUXx2XPH9grpE,19778
122
+ tan/core/jsonc_splice.py,sha256=9yoYR_Dry-gWUUQ6P_x0ijTA7xGTSZD3Kg31clTp5Rc,16475
123
+ tan/core/launch_provenance.py,sha256=sK7sCR13LGh0H1yP6p7D8q_8zozvqefF8E5l6ztEHwM,13326
124
+ tan/core/link_refusal.py,sha256=2BH1OeUEL2dNXum_AQY9lbJUxg91YJ8LHYvAOi1i_wc,3050
125
+ tan/core/metadata_schema.py,sha256=6lN_bvy3iYUUVD51P-OhHZnzMjgJ5b8wWSA4pKjeZrY,21174
126
+ tan/core/model_check.py,sha256=eSlXdXxOgUL-4IHEP3r8YV8GSA7NuMIfT13JpPp6PR8,11585
127
+ tan/core/model_device.py,sha256=FPP4vhaYbTiwvyecHF7LpMkWjZMB6Dh8pt93VpvWfJQ,22412
128
+ tan/core/model_doctor.py,sha256=yFQb-Pj6mOIVonwvNqbh54zKw9XGDwf0vXg8TDIkrnc,9914
129
+ tan/core/model_host.py,sha256=4hroebe8f_D9699lNgIzQyoFM5oXx4Kj3wYHGfvMzFU,1910
130
+ tan/core/model_list.py,sha256=2Erm_Hr74bXKId4LTKc9gJtu_CabYdoHYL8_RyLVH1k,5872
131
+ tan/core/model_zoo.py,sha256=k3lVms-Mmuv0tyQsAhM34anLe5Hb59fU_xtaeD8Yhj0,14770
132
+ tan/core/module_template.py,sha256=dFWkKWIfhsa0m6uOMi6TrcJCzG7ToZGVsUU81nwGMuQ,14572
133
+ tan/core/mram_link.py,sha256=v7N0l7ImBemMnyq4Ml7AAB83ozdC_W_R2jRzueVFK3w,4185
134
+ tan/core/new_som_ospi.py,sha256=Qp76VJnyFZYnBNz_20-U2yDNxNGlu6NS_S8YBT0TiSk,5215
135
+ tan/core/os_class.py,sha256=IBxFRgiJsTQT3_Yx4Thr22baDURvmy5NPbDLVbf6h48,8605
136
+ tan/core/patch_paths.py,sha256=OQ6bq5RW_w2L6Mtbccuv49qllS4TqIB9rq6i9wzQN5U,3408
137
+ tan/core/pending.py,sha256=itjsclJcecvYrLmcaPMSKJt0Fpn_5FawEsTolq7_0GI,1967
138
+ tan/core/plain_zephyr_plan.py,sha256=HPdJ3ljOZdV4rXRB98ys-611yRvfBtq5o6YibdecCwY,5688
139
+ tan/core/plan_exec.py,sha256=Yz_mJRa43P1AALxbD07RZAbSb_k2GW3IPXpDwVCvQ-o,17542
140
+ tan/core/plan_tokens.py,sha256=B7Qf2zRvlaUrtww6gbAUuiH8faGGIORuuQKpBOpCjo4,26125
141
+ tan/core/probe.py,sha256=cjkeWnpQ-WnqZafeOvu9IOrJkoXyGlGSwIHoaKXQfiY,7175
142
+ tan/core/probe_plan.py,sha256=KOZ0GUYGrJ29617c8A4K44y6j3eqi1JfWaRKeLRcwbQ,10130
143
+ tan/core/proxy.py,sha256=nNQ1_j0D6uXG_DXDZ6uNKw3i3KrSkQ5qZ-Zw0s335Rs,7786
144
+ tan/core/publish.py,sha256=_0p7pSnr_Ury82bD0YhnU0To9BNgKhJwEFZuBykTA6Q,1088
145
+ tan/core/python_floor.py,sha256=AeAD_O2tWYuM20qjFa8X7yj13861KYnN3VlqmMFOGvU,9013
146
+ tan/core/ram_run.py,sha256=zsScDEDd7WZkLcdfb5tnin_6Yw4RvVoSNMBAloOpyzk,30560
147
+ tan/core/ram_watch.py,sha256=tCupuE0rvej5tego5s4fy2MzZQ6pERqbr_3iRurlCI0,9702
148
+ tan/core/raw_write.py,sha256=ynG_3vnm1T0bfCOhlSiNHAY8wBpTKwXfwpxw5QxNDk4,6683
149
+ tan/core/reset_plan.py,sha256=VgX7L-dOkSpjFkksOHZ-GSSjFbAH5PT4qZ7Hn9IP7K4,2373
150
+ tan/core/run.py,sha256=HI9BPyozFMzHMZgAdxWhf0b6kqojclRDFd_dYN-cnaw,8335
151
+ tan/core/scaffold.py,sha256=ikfUPKfsRL0b7aQAn5x1wxLSBs1vfG5b9_Tx7g7Ncc4,111774
152
+ tan/core/scaffold_selftest_identity.py,sha256=8GWE2pnjFZsRrNkGEmhgC-MdjRP_86rIX9yaVXxPNFw,13306
153
+ tan/core/sdk_default_registry.py,sha256=C26QDBAzE087mgWIXRrcoasCiE94cq6mxwAJuyZFZus,31744
154
+ tan/core/sdk_discovery.py,sha256=_9uovpUdLG-4rWf5HY_irQWFNS4geHptFDbzVV54rfY,52112
155
+ tan/core/sdk_removal.py,sha256=lLJ7OyWfu9L73FGhyS-1vuppfze-CFn3SUh3rMh25R4,24119
156
+ tan/core/serial_actions.py,sha256=tmanI_M_X39NiF-fIUjOfC2bYDM1dOafZoGmxo5WgqI,6662
157
+ tan/core/serial_capture.py,sha256=xRMfGoGQQozuZpoMS8HJLvGRClpUZA1ZCGMe4rGWzII,7434
158
+ tan/core/serial_url.py,sha256=9ZURp_WLgZjp-3qvfSpkBPw1ErJy-PexDysKuPKttgo,1945
159
+ tan/core/setools.py,sha256=z6o7_thEHdxjRLk6X3dxShYxTmk3Uf3OJKQJ5IaAonA,27450
160
+ tan/core/setools_scratch.py,sha256=64mbe0BXTXmWUSTVru7wine3PiZkGMvMFlzP7TJdc6I,11363
161
+ tan/core/shapes.py,sha256=-aZcZyXlLgTKjkkrmGNZsMUD3CXcmsUHhO9PW9U4L1U,9196
162
+ tan/core/size.py,sha256=TvzskevUlRYhl6atXP0TGJim1h4JhGaNYzYFMf_OYgw,25072
163
+ tan/core/som_buildability.py,sha256=EXPXi9Rlkzy7pYPczqtM30-B909bOtmQJNLGkPbI8qc,9550
164
+ tan/core/som_schema_version.py,sha256=MdvPkKmWbYMWy6RdVl8qL2_3X0upRJtnCSZFbmoE4_M,3031
165
+ tan/core/subprocess_env.py,sha256=JeieysZJM3hzk9iMhQldY5Y1H7EGUd4X69KZFz-QP90,9174
166
+ tan/core/sysbuild_image.py,sha256=wGpPdzHrnHXh3cJTlfphJBLHUUbOG4we_oy1-JXaOzc,4127
167
+ tan/core/system_manifest.py,sha256=9rOwcMr--fORst54--qDHXMwlPoreuT4YfIbuf2Fo1o,37973
168
+ tan/core/text_layout.py,sha256=2tDkuuAVSMDaXYVMut7lMCYLwZ_jVPy_Z_pXSR_QAY8,3628
169
+ tan/core/timestamp.py,sha256=FNJTMCI-gwsyjV-8Mjk-uvcxI2BRMyTfsobXMv3tGdc,10086
170
+ tan/core/tool_lookup.py,sha256=7WX05Jghiy-AX7KCQvPuAIxgDznNCiNMPnMLadJJXp8,22353
171
+ tan/core/toolchain_pin.py,sha256=fxGNH4IxWlA1a3m2U8o1OprBbAMjtxn3FkVvq3vESDc,5359
172
+ tan/core/toolchain_provision.py,sha256=fHvx8RP3qDwfKnt4cUGs2uAhRcuVUVlebAPPz_Z8P28,64250
173
+ tan/core/trusted_path.py,sha256=H1f6xeg0OMsNA4w-fto4UY3emceJ_iUQi2ksF8SvFp0,4997
174
+ tan/core/uboot_breakin.py,sha256=-Q6iBbjUL8CeYobp9KOZo2WWV1f49JwoN6P3ohVLu0w,5506
175
+ tan/core/uri_reference.py,sha256=NVLf3vKf6KWd4qujzYyqmvTF1oR5cr3xj5R_phPMt8E,24839
176
+ tan/core/user_defines.py,sha256=lKhZDSQ5-1D0Y6BhUYP7d_B7dxdJ2jJeRXCMhhRINcQ,6088
177
+ tan/core/venv.py,sha256=A33sCSShDJDskFoXvKmkBQh8u_M2n-wBMU0bP3al4JY,16469
178
+ tan/core/west_patches.py,sha256=o2tKwLgLw3JkChvDbQIAvsmkUp-vY5hILpoLJQllfvQ,5818
179
+ tan/core/west_workspace_refusal.py,sha256=SWWQvo3v-n2Cclnvsqfl0MdSYlnWjmX1SHjb2Id6vyI,7346
180
+ tan/core/zephyr_env.py,sha256=Gu7pOePNvUW6zT8wm4bhRW75Q0TjCz-0buM7a3vWwbo,6692
181
+ tan/model/__init__.py,sha256=6rcoMwwhcqBy_m1gCNnr8-6CyT1td6ki9D-p5cgUdsg,100
182
+ tan/model/_gen_fixture.py,sha256=hij6QJa-3ruUBmFowz0iN1arbtB0oxvrQR0qj1t_T90,5776
183
+ tan/model/analyze.py,sha256=IROBQE2sDNfyrprWreXGn0b7kcza9jZYSQziDzNySdM,38293
184
+ tan/model/build.py,sha256=6PVCKLYL1TPWcWCwmiJqhESSlWYjSQxjaJ9WGEVcIbY,17475
185
+ tan/model/check.py,sha256=LUeDLDEM77bl4kOjaLLt64fzWnJyhXN8XoN9RlnxLps,39185
186
+ tan/model/manifest.py,sha256=szKt9cSqbTvbtIBjC1LDhZK2mWfksmBtBPzGCJBHiaw,33604
187
+ tan/model/measure.py,sha256=CFSj7nlW6LpIvqpyJFYga0NF3X4gnSnBwbM0zv-cj6o,9826
188
+ tan/model/npu_ops_validate.py,sha256=9lL6xto_hOU_cv4bBl7HXvdsLxQKVmwrVdswZgUw2bE,5889
189
+ tan/model/package.py,sha256=p5OQJ-hO-mzsXcs1MeimNhgoqAntC6ij32vHHQMwUK0,6205
190
+ tan/model/perf.py,sha256=qiMtdfnP7CAA4JSIPR5zC89XTXrbFs5zCIqoysdFSPY,35901
191
+ tan/model/perf_apply.py,sha256=5ZyFpNiKIm7KDoVLtsYvSc2VCcH8iaBB1OAa9ldNLbA,43390
192
+ tan/model/prep.py,sha256=W9jTTIBWNSII7HoJExmhSOqav1ofcjUXTTG2jT-4B7o,8205
193
+ tan/model/sram_fit.py,sha256=6s4ugTF2bJdAVrvO1UbTgLIWRFO7pN6FrLCUYL9XjQ4,26464
194
+ tan/model/targets.py,sha256=gw6-X0Tc1cohkOt4zGn0-oyrekoS_-fXtpclfXHYZCk,21015
195
+ tan/model/tensorio.py,sha256=nkzREBFPCxFpessH01OM_BBxLw417OcqX1mE15A7SUA,13727
196
+ tan/model/adapters/__init__.py,sha256=wmbFhApiEYwku7kI_r59WYBmOjEDbo4TWy1QM8skrKw,6781
197
+ tan/model/adapters/cpu.py,sha256=TAxNHkYilor1FsTeTO6FxHzO-_wxlKafn41N-_5Dh9o,1037
198
+ tan/model/adapters/deepx.py,sha256=4me7v_LL5jsSy7yR5K9KokAomNoGwGR28ReTgxsD2ss,4623
199
+ tan/model/adapters/drpai.py,sha256=cOYNaMt45n9D5WGwghBfRcBmnvX6jhNIGxPcetolrao,11585
200
+ tan/model/adapters/ethos_u.py,sha256=vLm2ALm1YBvnVtugdVcS9dEFJqT_M-3ScQQLB4rTWi0,56129
201
+ tan/model/adapters/executorch.py,sha256=KmciEHR9znMVC2ybFBS8WIoyKpiPuP_ApxjGGnzBkj0,2825
202
+ tan/planner/__init__.py,sha256=DFF1lOuRQy2qtaxkGsWIuqbAjEQHeZJLChnAWrC6pKY,11066
203
+ tan/planner/aperture.py,sha256=m6GG0aimwa5xyMgvAbbGW3l6WIIPSXRZfIFO_cit9qk,9442
204
+ tan/planner/buildplan.py,sha256=bJ9LP7RViTPHA1z7wzDwtLAcUXgAZhpo1TRYqAN59P4,52975
205
+ tan/planner/camera_owner.py,sha256=YZlfdVZQzLGFXvLqdkwd-GkltTN75ut0faniSNWRgB0,9591
206
+ tan/planner/cameras.py,sha256=DpD8snClnCTUbAMDMZty94KXOzfqMrUMyY7Mre78kPU,5697
207
+ tan/planner/carveout.py,sha256=XzVdEadTBHBpdQwoHaULyzVfrWjQNqXQEGdwBIdfunY,36226
208
+ tan/planner/cli.py,sha256=DIEU5oHGGIQBUBaqhlPqFLD8f6AUvjwNB8y8cCpcI30,12490
209
+ tan/planner/headers.py,sha256=j9_eWr3ZuOr7xx4YDzx4Q_X2_5E7HcXvETMEwiGP9XM,13311
210
+ tan/planner/kconfig.py,sha256=bz04J3W-csqsgLEMDVjVio_JJwxnYmb_JWj-AJrwTus,119458
211
+ tan/planner/kconfig_symbols.py,sha256=ADu78Sk1sAD5HslKLhE03LAH4s8tHAl7PxrMgHl_-pA,22514
212
+ tan/planner/libraries.py,sha256=2tfa8Vf4EOtXGg7rO4NWVI41x9XKd-smmvFbAb-p03c,30294
213
+ tan/planner/link_target.py,sha256=qngL4IerXx2EqugRjrlvGdvR4-p0BHPHs1LGO9qNldU,10594
214
+ tan/planner/linux_ownership.py,sha256=ZUXYUehSDldtiWYIv-vO90YxsyAoT1CXPU3jLndBNao,10668
215
+ tan/planner/loader.py,sha256=9ATq4Tfsuh-trRsx1ORHyz5MvMcWLLCyTJcxU50U4f0,70027
216
+ tan/planner/manifest.py,sha256=fYfidyT4Y-KGL77uLzGiSOHf1ytnAkA9jzhZRljARR8,5116
217
+ tan/planner/memory.py,sha256=QwsegYF7luRAs8pb88RjLoT8V9BqT9-gylF67_fOVJY,7376
218
+ tan/planner/memregion.py,sha256=NDhwfAeGkXmfDjJnoFTXy_PeWzm9vKZw0Z7YGF7Rwck,2675
219
+ tan/planner/models.py,sha256=wKmynALrqR3qfaH3VvyuW3iPJtGyWQXDGAvJXyQvjKo,24596
220
+ tan/planner/orchestrator.py,sha256=xfTG0gTjFzxZCJBdqDYgsgaLecPaTa4Yq-fln3fM_a4,45386
221
+ tan/planner/ownership.py,sha256=tHOO-s0Z8tgzsa3vOON1vFABfCecxAabdE0EljBO-4s,10624
222
+ tan/planner/partition.py,sha256=qCL0hFJRRiEFHvbZZ3EHjbnuAfpbx8PPdMSE2Jh27NI,61418
223
+ tan/planner/paths.py,sha256=1Bz7oQd3QX55aF8AMWNMi5Kq9FZSqgPvAuEFlRvZNb8,1595
224
+ tan/planner/plain_slice.py,sha256=g0tEg1eXqnIPqiyeH8UAbHlUiNlfCECdk7d8I-hjg8Y,6476
225
+ tan/planner/project_loader.py,sha256=lZ5zDw2eRzsBhv2pLHrfkU3xYcRjbJpjFA0mbw7FPVA,12202
226
+ tan/planner/sdk_capability.py,sha256=00lmgjvPcu5MC0HsV2C9xFdXfSTC5cwkNBHGRD-WwHE,8798
227
+ tan/planner/sdk_compat.py,sha256=8Np86sFeKZQwfP_vQqx8U-AXbpV4BkvhQkB30xXmAFU,17683
228
+ tan/planner/secure.py,sha256=oTwbjopuGA14EJvhUNhgn4JasEpjhlXqG8F7iZobY7Y,16477
229
+ tan/planner/slugs.py,sha256=R-3_2CGcm-GqXI2i5SYhETYnu5ND_fBM8rV3NKvp5uA,18343
230
+ tan/planner/som_metadata.py,sha256=nOOC3CxNwVmlRVoxVIcdZ4qqXfk4k5OE0ZsMRAj06Yk,14681
231
+ tan/planner/strict_loaders.py,sha256=9SKlOumF0B-VZbdOiKIXpGknyxQEHtIkrM6fQzcbmKs,5307
232
+ tan/planner/template.py,sha256=9VQYYiXzXlBdDPd1sAB-CjlwTFmgMuAOw5dYHN2UJh4,52970
233
+ tan/planner/template_pins.py,sha256=6mf-0qeKL0HDoC6TpQXq_Kmyxut0fD5-zpTHz4fgRzc,27522
234
+ tan/planner/template_rewrite.py,sha256=U-Q1oZbi0VPgCpaAFqR2wnSgSR9aMUQkFy4JCFvJ6ug,35838
235
+ tan/planner/topology.py,sha256=dtQojQz7R1Ja7bNz8xrwdxXLsc-R8WmOW9-aztKc1pI,10405
236
+ tan/planner/validate.py,sha256=F7fXZ_EAFrb7cH5jUn05mFwbILHIUHgM_iZgJuSYG3I,18282
237
+ tan/planner/whole_device_alias.py,sha256=nDJS8EhHi3lYEQ5w7r2MJPz80FYIhypxvrh5tftWG7Q,3459
238
+ tan/planner/zephyr_board.py,sha256=u-ywZRTboCVSvE4U2PUGE4NEj8sh04NekqU0jjNGlvI,173423
239
+ tan/planner/project_emit/__init__.py,sha256=yrMNKgmd3DBwrKuD7TEzpnUcN4rhb764rMHCEuPWxaw,2891
240
+ tan/planner/project_emit/bom_netlist.py,sha256=2jh8HFU1rnQkpxEYH0qXRQSteKVz8jEkx7sTjA2MBpA,14052
241
+ tan/planner/project_emit/dts.py,sha256=SzIFCodJpMqXrVmi0K6I20PD9gwqnQjU93FEuMwb790,25708
242
+ tan/planner/project_emit/hw_info.py,sha256=eQU76L_EsQ4sZt4vg425N2yeSlhqEtXHjukYTwLQuEs,9753
243
+ tan/planner/project_emit/native_sim.py,sha256=t3wZO5yE_LVpRMNt9KWhAUJiRxfwjAtEldlxJLPVRu4,6365
244
+ tan/planner/project_emit/west_libs.py,sha256=SgMND1SvJLUGOBQqJpOj7GvLWzH3NbhKJYbTcBFlbvA,9268
245
+ tan/templates/__init__.py,sha256=OjGEUi0bFOXEdd8E31TIUFEXU5750YEhRGeuwJoGq8Y,2003
246
+ tan/templates/vendored/MANIFEST.md,sha256=X6JRvpxqr6lY6O5IOS1IgI6y0JOttrUm08EeYmgIIA4,121893
247
+ tan/templates/vendored/diagnostics/E1M-AEN801/CMakeLists.txt,sha256=PaA7QCiGyKH9r9pldusOwux06xJxDwcKssYC7saasR8,207
248
+ tan/templates/vendored/diagnostics/E1M-AEN801/README.md,sha256=ZRWiMuDq0QNiXcZlabR5kpv3WoUMbaoLBLOK9DBSYik,5235
249
+ tan/templates/vendored/diagnostics/E1M-AEN801/board.yaml,sha256=vIwXhOrcWPio7GRSlfSisDVzGHA3ssnQDKQk6fGYSLI,1437
250
+ tan/templates/vendored/diagnostics/E1M-AEN801/prj.conf,sha256=CDhEKbiPYvPH-8Yb5nOSZxq6hxe4ZYkjEPNh7Cv5pTk,229
251
+ tan/templates/vendored/diagnostics/E1M-AEN801/testcase.yaml,sha256=UtwKfgIQriA8dk3KXbI4FlQvncJgxjn1wxArXXIXzZs,1471
252
+ tan/templates/vendored/diagnostics/E1M-AEN801/boards/native_sim_native_64.conf,sha256=0a9DE3hKO-5n-zMqsd5KSvDN3KtLCxO27k8c_238R4w,431
253
+ tan/templates/vendored/diagnostics/E1M-AEN801/boards/native_sim_native_64.overlay,sha256=xgwPcrDK3Ng---WZJIama_IdNPjYViWG248eswoZ5qE,795
254
+ tan/templates/vendored/diagnostics/E1M-AEN801/src/main.c,sha256=25dE9BmGD0NjdGw7QAFloVNW8gCNUJvtmBHeBLUGAeU,9881
255
+ tan/templates/vendored/diagnostics/E1M-V2N101/CMakeLists.txt,sha256=PaA7QCiGyKH9r9pldusOwux06xJxDwcKssYC7saasR8,207
256
+ tan/templates/vendored/diagnostics/E1M-V2N101/README.md,sha256=W_Lnr26kMOl6xK0d7D9pOIXH_ykvnqs4gjwSDeZATfk,5257
257
+ tan/templates/vendored/diagnostics/E1M-V2N101/board.yaml,sha256=j1E2rRkEccY5E8yXZcNqL2iB5ioa3NcByYfKlIqC2i8,1491
258
+ tan/templates/vendored/diagnostics/E1M-V2N101/prj.conf,sha256=CDhEKbiPYvPH-8Yb5nOSZxq6hxe4ZYkjEPNh7Cv5pTk,229
259
+ tan/templates/vendored/diagnostics/E1M-V2N101/testcase.yaml,sha256=UtwKfgIQriA8dk3KXbI4FlQvncJgxjn1wxArXXIXzZs,1471
260
+ tan/templates/vendored/diagnostics/E1M-V2N101/boards/native_sim_native_64.conf,sha256=0a9DE3hKO-5n-zMqsd5KSvDN3KtLCxO27k8c_238R4w,431
261
+ tan/templates/vendored/diagnostics/E1M-V2N101/boards/native_sim_native_64.overlay,sha256=xgwPcrDK3Ng---WZJIama_IdNPjYViWG248eswoZ5qE,795
262
+ tan/templates/vendored/diagnostics/E1M-V2N101/src/main.c,sha256=-3TKEIWCpwO4JaiIcOr9N1FUfHdG-fYqsXDA7FY22Z0,9888
263
+ tan/templates/vendored/edge-ai/E1M-AEN801/CMakeLists.txt,sha256=y6s5jfbCSeGBu3HZnw7LWNrnhujTguzCVk-P-ykIdic,238
264
+ tan/templates/vendored/edge-ai/E1M-AEN801/README.md,sha256=AFKDX7X6wVFMvrkcWurHXhmRpb8k-q-UVbixrxJMQfc,2968
265
+ tan/templates/vendored/edge-ai/E1M-AEN801/board.yaml,sha256=z8fJQ7mGvISmxkZEowk8dAIbxFO3uRT5tjvouQ8YACE,896
266
+ tan/templates/vendored/edge-ai/E1M-AEN801/prj.conf,sha256=WguraS6HQMk6OCZ7zG_FOWLFWML2RYDFJH01Q8F1u_k,171
267
+ tan/templates/vendored/edge-ai/E1M-AEN801/testcase.yaml,sha256=jstNgqf_ZzmWZamQ1jp2nDInyB-ile4_Ib9QQOrJXmo,1736
268
+ tan/templates/vendored/edge-ai/E1M-AEN801/src/cold_chain.c,sha256=oYTymnx8U7LLdAfh8jawCqCtvu80DvK9w7b-7mg7Z8E,16731
269
+ tan/templates/vendored/edge-ai/E1M-AEN801/src/cold_chain.h,sha256=YudWajO2sVLYSoX-jvRhXejQfVMd3rDGhbViHX4iV6w,8036
270
+ tan/templates/vendored/edge-ai/E1M-AEN801/src/main.c,sha256=Zeqwu2shvVbeQix7A8OSgTovgQobPtzQHuZpqpyA6BE,18440
271
+ tan/templates/vendored/edge-ai/E1M-V2N101/CMakeLists.txt,sha256=y6s5jfbCSeGBu3HZnw7LWNrnhujTguzCVk-P-ykIdic,238
272
+ tan/templates/vendored/edge-ai/E1M-V2N101/README.md,sha256=1Ro7fJz5lOzNJWESYhvikfE7n5LwSzDBQ4V0oIRnxI8,2880
273
+ tan/templates/vendored/edge-ai/E1M-V2N101/board.yaml,sha256=X2njxSuzSAo5TzxgzSlJhbazY6ySYO0nN4461MCF3zI,907
274
+ tan/templates/vendored/edge-ai/E1M-V2N101/prj.conf,sha256=WguraS6HQMk6OCZ7zG_FOWLFWML2RYDFJH01Q8F1u_k,171
275
+ tan/templates/vendored/edge-ai/E1M-V2N101/testcase.yaml,sha256=jstNgqf_ZzmWZamQ1jp2nDInyB-ile4_Ib9QQOrJXmo,1736
276
+ tan/templates/vendored/edge-ai/E1M-V2N101/src/cold_chain.c,sha256=oYTymnx8U7LLdAfh8jawCqCtvu80DvK9w7b-7mg7Z8E,16731
277
+ tan/templates/vendored/edge-ai/E1M-V2N101/src/cold_chain.h,sha256=YudWajO2sVLYSoX-jvRhXejQfVMd3rDGhbViHX4iV6w,8036
278
+ tan/templates/vendored/edge-ai/E1M-V2N101/src/main.c,sha256=Zeqwu2shvVbeQix7A8OSgTovgQobPtzQHuZpqpyA6BE,18440
279
+ tan/templates/vendored/iot/E1M-AEN801/CMakeLists.txt,sha256=88_7n4FHM9KWfj4pES2E5CPZF0oK6qGJXHH3ObF7Wy0,658
280
+ tan/templates/vendored/iot/E1M-AEN801/README.md,sha256=V10sRjeO4UXAYLtqLZ1Wd4U8l3HHds9Izy81Gs_5f30,4751
281
+ tan/templates/vendored/iot/E1M-AEN801/board.yaml,sha256=vXzQlxTSkwuWL3uQsdPHrjJ5zSscKC0JoPWtwUgWxcI,3163
282
+ tan/templates/vendored/iot/E1M-AEN801/prj.conf,sha256=HMoK88VyfM4ZTAXDUYfR-TJEX5smQsgMSdr2Xf5bbVk,812
283
+ tan/templates/vendored/iot/E1M-AEN801/testcase.yaml,sha256=xvGvjGsLrHKiAGFuLPgqVrPGO3hIZLV2bJUNnDlBry0,2588
284
+ tan/templates/vendored/iot/E1M-AEN801/src/cc3501e_bridge.c,sha256=n2m93RuAWlk8JNXhXvDXwrvlfwsFsThZveC2IVSct5U,9055
285
+ tan/templates/vendored/iot/E1M-AEN801/src/cc3501e_bridge.h,sha256=ZR8DniPMvfS3o0MrfH9QZSCcrzGoyMkt5STMi_ljI8A,9300
286
+ tan/templates/vendored/iot/E1M-AEN801/src/main.c,sha256=Cq6eGUqvQURHa-8pOOm1R21NtP_ONmDTByoiNn3qCFo,10296
287
+ tan/templates/vendored/minimal/E1M-AEN801/CMakeLists.txt,sha256=Yxw_YOjLq7tU4D9i2M9sIQR9hd-B61w46bS9lPl2bgc,204
288
+ tan/templates/vendored/minimal/E1M-AEN801/README.md,sha256=xh96hq7EiJZjXm5z_Nf7nILjIivTYXtmdWRNN4-wiBs,4315
289
+ tan/templates/vendored/minimal/E1M-AEN801/board.yaml,sha256=XyxkYoYC2b0Nud-stamtIPqo4LWxpC0uyhc85yV5xwY,1199
290
+ tan/templates/vendored/minimal/E1M-AEN801/prj.conf,sha256=9Niif_RIR5oQKqVEa1LQvRi1XvoTnD-wqtmfrehjHXk,396
291
+ tan/templates/vendored/minimal/E1M-AEN801/testcase.yaml,sha256=uvmF6dAfq4HtQnAll7Xl6Fu-kAUd1PepYhIr0limq8M,1271
292
+ tan/templates/vendored/minimal/E1M-AEN801/src/main.c,sha256=2p8wKXI9dUidb8HvLL_-CzDesonRdqxNib3LxVYAtms,4048
293
+ tan/templates/vendored/minimal/E1M-V2N101/CMakeLists.txt,sha256=Yxw_YOjLq7tU4D9i2M9sIQR9hd-B61w46bS9lPl2bgc,204
294
+ tan/templates/vendored/minimal/E1M-V2N101/README.md,sha256=m7NLtPzlHV3Mgg3fQ1mAsoasfC4GvYiMUxNsCa9ulwo,4329
295
+ tan/templates/vendored/minimal/E1M-V2N101/board.yaml,sha256=cbJ_nFCLjfJYbvvQCltmA8Os2MJkq7V35VfJi1W6MCY,1201
296
+ tan/templates/vendored/minimal/E1M-V2N101/prj.conf,sha256=9Niif_RIR5oQKqVEa1LQvRi1XvoTnD-wqtmfrehjHXk,396
297
+ tan/templates/vendored/minimal/E1M-V2N101/testcase.yaml,sha256=uvmF6dAfq4HtQnAll7Xl6Fu-kAUd1PepYhIr0limq8M,1271
298
+ tan/templates/vendored/minimal/E1M-V2N101/src/main.c,sha256=2p8wKXI9dUidb8HvLL_-CzDesonRdqxNib3LxVYAtms,4048
299
+ tan/templates/vendored/multicore-mailbox/E1M-AEN801/CMakeLists.txt,sha256=8vJfMTzD9wgLON0A8T23qmpq93hx70lsWD5lz1PI9Ic,206
300
+ tan/templates/vendored/multicore-mailbox/E1M-AEN801/README.md,sha256=7Oyf-5nnVg-U9jaIvJ-s12sGTM3M6MlIXDPUB22uh90,4560
301
+ tan/templates/vendored/multicore-mailbox/E1M-AEN801/board.yaml,sha256=6dWTlqRk0xIH_1tU5v8qzYDKjzdETFoQT-Z_BFZbyZo,2565
302
+ tan/templates/vendored/multicore-mailbox/E1M-AEN801/prj.conf,sha256=rX-J7Oee83BJNzUI5iLSJ0EnZtxBpzpA5dlZAWaCiI4,1345
303
+ tan/templates/vendored/multicore-mailbox/E1M-AEN801/testcase.yaml,sha256=8teGN0gItb80S95dCrBWy-usy9uF0NqkPztJNidcNiI,985
304
+ tan/templates/vendored/multicore-mailbox/E1M-AEN801/boards/native_sim_native_64.overlay,sha256=vEXLEcbo7xTzMp44BsDRIfYlY4Gd6OhWtZF83kEWCkE,1375
305
+ tan/templates/vendored/multicore-mailbox/E1M-AEN801/peer/CMakeLists.txt,sha256=iWMC4JVDbxA2Nm4ylQNjeD7AqcHj9VhRgHmXCVkN2dE,448
306
+ tan/templates/vendored/multicore-mailbox/E1M-AEN801/peer/main.c,sha256=l252km6PA9lj1RX0zmBxmcm3ec2x0U7EycDGrY-Md1E,5912
307
+ tan/templates/vendored/multicore-mailbox/E1M-AEN801/peer/prj.conf,sha256=a6M_VuMuUc57pXfQAAPDo4kWLX2r7z0brsuphHLOHxU,780
308
+ tan/templates/vendored/multicore-mailbox/E1M-AEN801/peer/testcase.yaml,sha256=E6n042Z_r9Q5u-glEXMJZn_qTc4bQgYF87Y8sGCtIM8,1038
309
+ tan/templates/vendored/multicore-mailbox/E1M-AEN801/src/main.c,sha256=jXrlxZMvWFcAfFfTfq1gGVRtr7zAOfXqWh2biVT80fo,6310
310
+ tan/templates/vendored/sensor/E1M-AEN801/CMakeLists.txt,sha256=L6n7hUsVjTZqCI63yN8N277IqsGD_ePFCYXbgQdBaD0,203
311
+ tan/templates/vendored/sensor/E1M-AEN801/README.md,sha256=1TKJnu3eBvNTxo6YdoYlB_a-tYbn4NMom37SI6RmtUM,5308
312
+ tan/templates/vendored/sensor/E1M-AEN801/board.yaml,sha256=P_nmCWQrsuq9LGB-C4eNYnNYcbeL5qKAJfgiXLSfDb0,2372
313
+ tan/templates/vendored/sensor/E1M-AEN801/prj.conf,sha256=CDhEKbiPYvPH-8Yb5nOSZxq6hxe4ZYkjEPNh7Cv5pTk,229
314
+ tan/templates/vendored/sensor/E1M-AEN801/testcase.yaml,sha256=UzbbF_lI0ka_xe40Cla_Hs4fe63OhJQrbx98SPBH6RQ,1359
315
+ tan/templates/vendored/sensor/E1M-AEN801/boards/native_sim_native_64.conf,sha256=-GFw7AtxWJfDYqX1NJ7-C2-BMprCfhAuvX6iWEGSQ-U,388
316
+ tan/templates/vendored/sensor/E1M-AEN801/boards/native_sim_native_64.overlay,sha256=0APVPdGwyn9Iggv0aguvGdE0VhB6AtSBMulnJzHS6Rs,702
317
+ tan/templates/vendored/sensor/E1M-AEN801/src/main.c,sha256=PnWmpFYbPwlUgUXT-Dbyh2JLn3-ZcoL8OWD1OVOcvVM,8095
318
+ tan/templates/vendored/sensor/E1M-V2N101/CMakeLists.txt,sha256=L6n7hUsVjTZqCI63yN8N277IqsGD_ePFCYXbgQdBaD0,203
319
+ tan/templates/vendored/sensor/E1M-V2N101/README.md,sha256=gvN1co9DMoD7WFKgu1EHrZlxBnPnVNL0PZn4UtoCYkY,5322
320
+ tan/templates/vendored/sensor/E1M-V2N101/board.yaml,sha256=Kw_YnvGYM0ZRqhOVbxLEzzwH80OwG9i4Fl8qo8BqDwE,2426
321
+ tan/templates/vendored/sensor/E1M-V2N101/prj.conf,sha256=CDhEKbiPYvPH-8Yb5nOSZxq6hxe4ZYkjEPNh7Cv5pTk,229
322
+ tan/templates/vendored/sensor/E1M-V2N101/testcase.yaml,sha256=UzbbF_lI0ka_xe40Cla_Hs4fe63OhJQrbx98SPBH6RQ,1359
323
+ tan/templates/vendored/sensor/E1M-V2N101/boards/native_sim_native_64.conf,sha256=-GFw7AtxWJfDYqX1NJ7-C2-BMprCfhAuvX6iWEGSQ-U,388
324
+ tan/templates/vendored/sensor/E1M-V2N101/boards/native_sim_native_64.overlay,sha256=0APVPdGwyn9Iggv0aguvGdE0VhB6AtSBMulnJzHS6Rs,702
325
+ tan/templates/vendored/sensor/E1M-V2N101/src/main.c,sha256=PnWmpFYbPwlUgUXT-Dbyh2JLn3-ZcoL8OWD1OVOcvVM,8095
326
+ tan_cli-0.7.0.dist-info/METADATA,sha256=t8HpWJ5RLgmoIwy79pVnx4_drL4zy9I7DxYwfCURUpY,5583
327
+ tan_cli-0.7.0.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
328
+ tan_cli-0.7.0.dist-info/entry_points.txt,sha256=1XNnm5asesTpfJEhvMik9r0eQdIC9pTbW-nomiO-hk0,42
329
+ tan_cli-0.7.0.dist-info/top_level.txt,sha256=qmMg7i6iHyUzGwH_w9_F-dNChnxAcPxFTUGRUl50BA0,4
330
+ tan_cli-0.7.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (84.0.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ tan = tan.__main__:main
@@ -0,0 +1 @@
1
+ tan