pyasic_rs 0.6.2__tar.gz

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 (467) hide show
  1. pyasic_rs-0.6.2/.gitattributes +1 -0
  2. pyasic_rs-0.6.2/.github/workflows/github-pages.yml +30 -0
  3. pyasic_rs-0.6.2/.github/workflows/pr-fmt.yml +59 -0
  4. pyasic_rs-0.6.2/.github/workflows/readme.yml +32 -0
  5. pyasic_rs-0.6.2/.github/workflows/release.yml +295 -0
  6. pyasic_rs-0.6.2/.github/workflows/test.yml +49 -0
  7. pyasic_rs-0.6.2/.gitignore +7 -0
  8. pyasic_rs-0.6.2/.pre-commit-config.yaml +70 -0
  9. pyasic_rs-0.6.2/Cargo.lock +3457 -0
  10. pyasic_rs-0.6.2/Cargo.toml +247 -0
  11. pyasic_rs-0.6.2/LICENSE.txt +176 -0
  12. pyasic_rs-0.6.2/PKG-INFO +460 -0
  13. pyasic_rs-0.6.2/README.j2 +28 -0
  14. pyasic_rs-0.6.2/README.md +402 -0
  15. pyasic_rs-0.6.2/asic-rs-core/Cargo.toml +31 -0
  16. pyasic_rs-0.6.2/asic-rs-core/src/config/collector.rs +288 -0
  17. pyasic_rs-0.6.2/asic-rs-core/src/config/fan.rs +353 -0
  18. pyasic_rs-0.6.2/asic-rs-core/src/config/mod.rs +5 -0
  19. pyasic_rs-0.6.2/asic-rs-core/src/config/pools.rs +103 -0
  20. pyasic_rs-0.6.2/asic-rs-core/src/config/scaling.rs +92 -0
  21. pyasic_rs-0.6.2/asic-rs-core/src/config/tuning.rs +224 -0
  22. pyasic_rs-0.6.2/asic-rs-core/src/data/board.rs +146 -0
  23. pyasic_rs-0.6.2/asic-rs-core/src/data/collector.rs +407 -0
  24. pyasic_rs-0.6.2/asic-rs-core/src/data/command.rs +55 -0
  25. pyasic_rs-0.6.2/asic-rs-core/src/data/deserialize.rs +16 -0
  26. pyasic_rs-0.6.2/asic-rs-core/src/data/device.rs +125 -0
  27. pyasic_rs-0.6.2/asic-rs-core/src/data/fan.rs +21 -0
  28. pyasic_rs-0.6.2/asic-rs-core/src/data/firmware.rs +55 -0
  29. pyasic_rs-0.6.2/asic-rs-core/src/data/hashrate.rs +286 -0
  30. pyasic_rs-0.6.2/asic-rs-core/src/data/message.rs +198 -0
  31. pyasic_rs-0.6.2/asic-rs-core/src/data/miner.rs +356 -0
  32. pyasic_rs-0.6.2/asic-rs-core/src/data/mod.rs +16 -0
  33. pyasic_rs-0.6.2/asic-rs-core/src/data/pool.rs +237 -0
  34. pyasic_rs-0.6.2/asic-rs-core/src/data/serialize.rs +70 -0
  35. pyasic_rs-0.6.2/asic-rs-core/src/discovery.rs +14 -0
  36. pyasic_rs-0.6.2/asic-rs-core/src/errors.rs +88 -0
  37. pyasic_rs-0.6.2/asic-rs-core/src/lib.rs +7 -0
  38. pyasic_rs-0.6.2/asic-rs-core/src/test/api.rs +27 -0
  39. pyasic_rs-0.6.2/asic-rs-core/src/test/mod.rs +2 -0
  40. pyasic_rs-0.6.2/asic-rs-core/src/test/util.rs +143 -0
  41. pyasic_rs-0.6.2/asic-rs-core/src/traits/auth.rs +57 -0
  42. pyasic_rs-0.6.2/asic-rs-core/src/traits/discovery.rs +5 -0
  43. pyasic_rs-0.6.2/asic-rs-core/src/traits/entry.rs +32 -0
  44. pyasic_rs-0.6.2/asic-rs-core/src/traits/firmware.rs +14 -0
  45. pyasic_rs-0.6.2/asic-rs-core/src/traits/identification.rs +24 -0
  46. pyasic_rs-0.6.2/asic-rs-core/src/traits/make.rs +12 -0
  47. pyasic_rs-0.6.2/asic-rs-core/src/traits/miner.rs +892 -0
  48. pyasic_rs-0.6.2/asic-rs-core/src/traits/mod.rs +8 -0
  49. pyasic_rs-0.6.2/asic-rs-core/src/traits/model.rs +48 -0
  50. pyasic_rs-0.6.2/asic-rs-core/src/util.rs +374 -0
  51. pyasic_rs-0.6.2/asic-rs-firmwares/antminer/Cargo.toml +31 -0
  52. pyasic_rs-0.6.2/asic-rs-firmwares/antminer/src/backends/mod.rs +24 -0
  53. pyasic_rs-0.6.2/asic-rs-firmwares/antminer/src/backends/v2020/firmware.rs +443 -0
  54. pyasic_rs-0.6.2/asic-rs-firmwares/antminer/src/backends/v2020/mod.rs +1356 -0
  55. pyasic_rs-0.6.2/asic-rs-firmwares/antminer/src/backends/v2020/rpc.rs +161 -0
  56. pyasic_rs-0.6.2/asic-rs-firmwares/antminer/src/backends/v2020/web.rs +355 -0
  57. pyasic_rs-0.6.2/asic-rs-firmwares/antminer/src/backends/v2023_07/firmware.rs +443 -0
  58. pyasic_rs-0.6.2/asic-rs-firmwares/antminer/src/backends/v2023_07/mod.rs +1290 -0
  59. pyasic_rs-0.6.2/asic-rs-firmwares/antminer/src/backends/v2023_07/rpc.rs +161 -0
  60. pyasic_rs-0.6.2/asic-rs-firmwares/antminer/src/backends/v2023_07/web.rs +332 -0
  61. pyasic_rs-0.6.2/asic-rs-firmwares/antminer/src/firmware.rs +191 -0
  62. pyasic_rs-0.6.2/asic-rs-firmwares/antminer/src/lib.rs +3 -0
  63. pyasic_rs-0.6.2/asic-rs-firmwares/antminer/src/test/json/mod.rs +1 -0
  64. pyasic_rs-0.6.2/asic-rs-firmwares/antminer/src/test/json/v2020/devs.json +39 -0
  65. pyasic_rs-0.6.2/asic-rs-firmwares/antminer/src/test/json/v2020/mod.rs +9 -0
  66. pyasic_rs-0.6.2/asic-rs-firmwares/antminer/src/test/json/v2020/pools.json +110 -0
  67. pyasic_rs-0.6.2/asic-rs-firmwares/antminer/src/test/json/v2020/stats.json +88 -0
  68. pyasic_rs-0.6.2/asic-rs-firmwares/antminer/src/test/json/v2020/summary.json +43 -0
  69. pyasic_rs-0.6.2/asic-rs-firmwares/antminer/src/test/json/v2020/system_info.json +16 -0
  70. pyasic_rs-0.6.2/asic-rs-firmwares/antminer/src/test/json/v2020/version.json +21 -0
  71. pyasic_rs-0.6.2/asic-rs-firmwares/antminer/src/test/mod.rs +1 -0
  72. pyasic_rs-0.6.2/asic-rs-firmwares/auradine/Cargo.toml +28 -0
  73. pyasic_rs-0.6.2/asic-rs-firmwares/auradine/src/backends/mod.rs +22 -0
  74. pyasic_rs-0.6.2/asic-rs-firmwares/auradine/src/backends/v1/mod.rs +1816 -0
  75. pyasic_rs-0.6.2/asic-rs-firmwares/auradine/src/backends/v1/rpc.rs +117 -0
  76. pyasic_rs-0.6.2/asic-rs-firmwares/auradine/src/backends/v1/web.rs +245 -0
  77. pyasic_rs-0.6.2/asic-rs-firmwares/auradine/src/firmware.rs +108 -0
  78. pyasic_rs-0.6.2/asic-rs-firmwares/auradine/src/lib.rs +3 -0
  79. pyasic_rs-0.6.2/asic-rs-firmwares/auradine/src/test/json/mod.rs +1 -0
  80. pyasic_rs-0.6.2/asic-rs-firmwares/auradine/src/test/json/v1/asccount.json +18 -0
  81. pyasic_rs-0.6.2/asic-rs-firmwares/auradine/src/test/json/v1/devs.json +41 -0
  82. pyasic_rs-0.6.2/asic-rs-firmwares/auradine/src/test/json/v1/fan.json +38 -0
  83. pyasic_rs-0.6.2/asic-rs-firmwares/auradine/src/test/json/v1/frequency.json +68 -0
  84. pyasic_rs-0.6.2/asic-rs-firmwares/auradine/src/test/json/v1/ipreport.json +31 -0
  85. pyasic_rs-0.6.2/asic-rs-firmwares/auradine/src/test/json/v1/led.json +20 -0
  86. pyasic_rs-0.6.2/asic-rs-firmwares/auradine/src/test/json/v1/mod.rs +16 -0
  87. pyasic_rs-0.6.2/asic-rs-firmwares/auradine/src/test/json/v1/mode.json +20 -0
  88. pyasic_rs-0.6.2/asic-rs-firmwares/auradine/src/test/json/v1/pools.json +47 -0
  89. pyasic_rs-0.6.2/asic-rs-firmwares/auradine/src/test/json/v1/psu.json +26 -0
  90. pyasic_rs-0.6.2/asic-rs-firmwares/auradine/src/test/json/v1/summary.json +30 -0
  91. pyasic_rs-0.6.2/asic-rs-firmwares/auradine/src/test/json/v1/temperature.json +145 -0
  92. pyasic_rs-0.6.2/asic-rs-firmwares/auradine/src/test/json/v1/version.json +18 -0
  93. pyasic_rs-0.6.2/asic-rs-firmwares/auradine/src/test/json/v1/voltage.json +68 -0
  94. pyasic_rs-0.6.2/asic-rs-firmwares/auradine/src/test/mod.rs +1 -0
  95. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/Cargo.toml +27 -0
  96. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/backends/avalon_a/mod.rs +871 -0
  97. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/backends/avalon_a/rpc.rs +1 -0
  98. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/backends/avalon_q/mod.rs +789 -0
  99. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/backends/avalon_q/rpc.rs +1 -0
  100. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/backends/mod.rs +28 -0
  101. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/backends/rpc.rs +290 -0
  102. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/firmware.rs +87 -0
  103. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/lib.rs +3 -0
  104. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/test/json/ascset_help.json +12 -0
  105. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/test/json/ascset_softoff.json +12 -0
  106. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/test/json/ascset_softon.json +12 -0
  107. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/test/json/ascset_workmode.json +12 -0
  108. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/test/json/avalon_a_stats.json +118 -0
  109. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/test/json/avalon_a_stats_parsed.json +1750 -0
  110. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/test/json/check.json +18 -0
  111. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/test/json/coin.json +21 -0
  112. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/test/json/config.json +24 -0
  113. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/test/json/devdetails.json +23 -0
  114. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/test/json/devs.json +42 -0
  115. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/test/json/litestats.json +17 -0
  116. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/test/json/mod.rs +19 -0
  117. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/test/json/pools.json +53 -0
  118. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/test/json/stats.json +55 -0
  119. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/test/json/stats_parsed.json +640 -0
  120. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/test/json/summary.json +45 -0
  121. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/test/json/version.json +29 -0
  122. pyasic_rs-0.6.2/asic-rs-firmwares/avalonminer/src/test/mod.rs +1 -0
  123. pyasic_rs-0.6.2/asic-rs-firmwares/bitaxe/Cargo.toml +28 -0
  124. pyasic_rs-0.6.2/asic-rs-firmwares/bitaxe/src/backends/mod.rs +25 -0
  125. pyasic_rs-0.6.2/asic-rs-firmwares/bitaxe/src/backends/v2_0_0/mod.rs +674 -0
  126. pyasic_rs-0.6.2/asic-rs-firmwares/bitaxe/src/backends/v2_0_0/web.rs +231 -0
  127. pyasic_rs-0.6.2/asic-rs-firmwares/bitaxe/src/backends/v2_9_0/mod.rs +565 -0
  128. pyasic_rs-0.6.2/asic-rs-firmwares/bitaxe/src/backends/v2_9_0/web.rs +19 -0
  129. pyasic_rs-0.6.2/asic-rs-firmwares/bitaxe/src/firmware.rs +88 -0
  130. pyasic_rs-0.6.2/asic-rs-firmwares/bitaxe/src/lib.rs +3 -0
  131. pyasic_rs-0.6.2/asic-rs-firmwares/bitaxe/src/test/json/mod.rs +1 -0
  132. pyasic_rs-0.6.2/asic-rs-firmwares/bitaxe/src/test/json/v2_0_0/mod.rs +3 -0
  133. pyasic_rs-0.6.2/asic-rs-firmwares/bitaxe/src/test/json/v2_0_0/system_info.json +43 -0
  134. pyasic_rs-0.6.2/asic-rs-firmwares/bitaxe/src/test/mod.rs +1 -0
  135. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/Cargo.toml +30 -0
  136. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/backends/mod.rs +35 -0
  137. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/backends/util.rs +43 -0
  138. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/backends/v21_09/graphql.rs +262 -0
  139. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/backends/v21_09/mod.rs +1148 -0
  140. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/backends/v21_09/rpc.rs +117 -0
  141. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/backends/v21_09/web.rs +148 -0
  142. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/backends/v25_03/mod.rs +1145 -0
  143. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/backends/v25_05/mod.rs +1150 -0
  144. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/backends/v25_07/mod.rs +1149 -0
  145. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/backends/v25_07/web.rs +266 -0
  146. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/backends/v26_04/mod.rs +1040 -0
  147. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/backends/v26_04/web.rs +312 -0
  148. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/firmware.rs +168 -0
  149. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/lib.rs +3 -0
  150. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/mod.rs +9 -0
  151. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v21_09/gql_boards.json +78 -0
  152. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v21_09/gql_pools.json +56 -0
  153. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v21_09/gql_system.json +54 -0
  154. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v21_09/gql_tuning.json +20 -0
  155. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v21_09/mod.rs +8 -0
  156. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v21_09/version.json +18 -0
  157. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v21_09/web_net_conf.json +5 -0
  158. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v24_09/gql_boards.json +78 -0
  159. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v24_09/gql_events.json +7 -0
  160. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v24_09/gql_pools.json +45 -0
  161. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v24_09/gql_system.json +54 -0
  162. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v24_09/gql_tuning.json +20 -0
  163. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v24_09/mod.rs +9 -0
  164. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v24_09/version.json +18 -0
  165. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v24_09/web_net_conf.json +5 -0
  166. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_03/gql_boards.json +105 -0
  167. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_03/gql_events.json +7 -0
  168. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_03/gql_pools.json +45 -0
  169. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_03/gql_system.json +54 -0
  170. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_03/gql_tuning.json +20 -0
  171. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_03/mod.rs +9 -0
  172. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_03/version.json +18 -0
  173. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_03/web_net_conf.json +5 -0
  174. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_05/gql_boards.json +105 -0
  175. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_05/gql_events.json +7 -0
  176. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_05/gql_pools.json +55 -0
  177. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_05/gql_system.json +54 -0
  178. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_05/gql_tuning.json +20 -0
  179. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_05/mod.rs +9 -0
  180. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_05/version.json +18 -0
  181. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_05/web_net_conf.json +5 -0
  182. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_07/actions_locate.json +1 -0
  183. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_07/configuration_miner.json +11 -0
  184. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_07/cooling_state.json +31 -0
  185. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_07/miner_details.json +40 -0
  186. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_07/miner_errors.json +52 -0
  187. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_07/miner_hw_hashboards.json +223 -0
  188. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_07/miner_stats.json +64 -0
  189. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_07/mod.rs +14 -0
  190. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_07/network.json +16 -0
  191. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_07/performance_tuner_state.json +25 -0
  192. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_07/pools.json +52 -0
  193. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_07/version.json +5 -0
  194. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_11/actions_locate.json +1 -0
  195. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_11/configuration_miner.json +11 -0
  196. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_11/cooling_state.json +31 -0
  197. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_11/miner_details.json +40 -0
  198. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_11/miner_errors.json +340 -0
  199. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_11/miner_hw_hashboards.json +223 -0
  200. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_11/miner_stats.json +64 -0
  201. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_11/mod.rs +14 -0
  202. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_11/network.json +16 -0
  203. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_11/performance_tuner_state.json +25 -0
  204. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_11/pools.json +50 -0
  205. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v25_11/version.json +5 -0
  206. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v26_04/actions_locate.json +1 -0
  207. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v26_04/configuration_miner.json +11 -0
  208. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v26_04/cooling_state.json +31 -0
  209. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v26_04/miner_details.json +40 -0
  210. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v26_04/miner_errors.json +812 -0
  211. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v26_04/miner_hw_hashboards.json +226 -0
  212. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v26_04/miner_stats.json +66 -0
  213. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v26_04/mod.rs +14 -0
  214. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v26_04/network.json +16 -0
  215. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v26_04/performance_tuner_state.json +22 -0
  216. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v26_04/pools.json +52 -0
  217. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/json/v26_04/version.json +5 -0
  218. pyasic_rs-0.6.2/asic-rs-firmwares/braiins/src/test/mod.rs +1 -0
  219. pyasic_rs-0.6.2/asic-rs-firmwares/epic/Cargo.toml +34 -0
  220. pyasic_rs-0.6.2/asic-rs-firmwares/epic/src/backends/mod.rs +18 -0
  221. pyasic_rs-0.6.2/asic-rs-firmwares/epic/src/backends/v1/mod.rs +1872 -0
  222. pyasic_rs-0.6.2/asic-rs-firmwares/epic/src/backends/v1/web.rs +289 -0
  223. pyasic_rs-0.6.2/asic-rs-firmwares/epic/src/firmware.rs +176 -0
  224. pyasic_rs-0.6.2/asic-rs-firmwares/epic/src/lib.rs +3 -0
  225. pyasic_rs-0.6.2/asic-rs-firmwares/epic/src/test/json/mod.rs +1 -0
  226. pyasic_rs-0.6.2/asic-rs-firmwares/epic/src/test/json/v1/capabilities.json +108 -0
  227. pyasic_rs-0.6.2/asic-rs-firmwares/epic/src/test/json/v1/chip_clocks.json +234 -0
  228. pyasic_rs-0.6.2/asic-rs-firmwares/epic/src/test/json/v1/chip_hashrates.json +1122 -0
  229. pyasic_rs-0.6.2/asic-rs-firmwares/epic/src/test/json/v1/chip_temps.json +234 -0
  230. pyasic_rs-0.6.2/asic-rs-firmwares/epic/src/test/json/v1/chip_voltages.json +234 -0
  231. pyasic_rs-0.6.2/asic-rs-firmwares/epic/src/test/json/v1/mod.rs +11 -0
  232. pyasic_rs-0.6.2/asic-rs-firmwares/epic/src/test/json/v1/network.json +9 -0
  233. pyasic_rs-0.6.2/asic-rs-firmwares/epic/src/test/json/v1/summary.json +175 -0
  234. pyasic_rs-0.6.2/asic-rs-firmwares/epic/src/test/json/v1/temps.json +26 -0
  235. pyasic_rs-0.6.2/asic-rs-firmwares/epic/src/test/mod.rs +1 -0
  236. pyasic_rs-0.6.2/asic-rs-firmwares/futurebit/Cargo.toml +28 -0
  237. pyasic_rs-0.6.2/asic-rs-firmwares/futurebit/src/backends/mod.rs +23 -0
  238. pyasic_rs-0.6.2/asic-rs-firmwares/futurebit/src/backends/v2/mod.rs +910 -0
  239. pyasic_rs-0.6.2/asic-rs-firmwares/futurebit/src/backends/v2/web.rs +219 -0
  240. pyasic_rs-0.6.2/asic-rs-firmwares/futurebit/src/firmware.rs +110 -0
  241. pyasic_rs-0.6.2/asic-rs-firmwares/futurebit/src/lib.rs +2 -0
  242. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/Cargo.toml +26 -0
  243. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/backends/mod.rs +18 -0
  244. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/backends/v1/mod.rs +1591 -0
  245. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/backends/v1/rpc.rs +466 -0
  246. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/firmware.rs +81 -0
  247. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/lib.rs +3 -0
  248. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/test/json/mod.rs +1 -0
  249. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/test/json/v1/config.json +59 -0
  250. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/test/json/v1/devs.json +134 -0
  251. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/test/json/v1/events.json +29 -0
  252. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/test/json/v1/fans.json +44 -0
  253. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/test/json/v1/healthchipget_0.json +1400 -0
  254. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/test/json/v1/healthchipget_1.json +1400 -0
  255. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/test/json/v1/healthchipget_2.json +1400 -0
  256. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/test/json/v1/mod.rs +21 -0
  257. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/test/json/v1/pools.json +178 -0
  258. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/test/json/v1/power.json +18 -0
  259. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/test/json/v1/profiles.json +314 -0
  260. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/test/json/v1/stats.json +87 -0
  261. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/test/json/v1/summary.json +47 -0
  262. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/test/json/v1/temps.json +70 -0
  263. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/test/json/v1/version.json +21 -0
  264. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/test/json/v1/voltageget_0.json +18 -0
  265. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/test/json/v1/voltageget_1.json +18 -0
  266. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/test/json/v1/voltageget_2.json +18 -0
  267. pyasic_rs-0.6.2/asic-rs-firmwares/luxminer/src/test/mod.rs +1 -0
  268. pyasic_rs-0.6.2/asic-rs-firmwares/marathon/Cargo.toml +29 -0
  269. pyasic_rs-0.6.2/asic-rs-firmwares/marathon/src/backends/mod.rs +18 -0
  270. pyasic_rs-0.6.2/asic-rs-firmwares/marathon/src/backends/v1/mod.rs +1255 -0
  271. pyasic_rs-0.6.2/asic-rs-firmwares/marathon/src/backends/v1/web.rs +121 -0
  272. pyasic_rs-0.6.2/asic-rs-firmwares/marathon/src/firmware.rs +81 -0
  273. pyasic_rs-0.6.2/asic-rs-firmwares/marathon/src/lib.rs +2 -0
  274. pyasic_rs-0.6.2/asic-rs-firmwares/nerdaxe/Cargo.toml +29 -0
  275. pyasic_rs-0.6.2/asic-rs-firmwares/nerdaxe/src/backends/mod.rs +22 -0
  276. pyasic_rs-0.6.2/asic-rs-firmwares/nerdaxe/src/backends/v1/mod.rs +567 -0
  277. pyasic_rs-0.6.2/asic-rs-firmwares/nerdaxe/src/backends/v1/web.rs +166 -0
  278. pyasic_rs-0.6.2/asic-rs-firmwares/nerdaxe/src/firmware.rs +87 -0
  279. pyasic_rs-0.6.2/asic-rs-firmwares/nerdaxe/src/lib.rs +2 -0
  280. pyasic_rs-0.6.2/asic-rs-firmwares/proto/Cargo.toml +29 -0
  281. pyasic_rs-0.6.2/asic-rs-firmwares/proto/src/backends/mod.rs +3 -0
  282. pyasic_rs-0.6.2/asic-rs-firmwares/proto/src/backends/v1/mod.rs +1370 -0
  283. pyasic_rs-0.6.2/asic-rs-firmwares/proto/src/backends/v1/web.rs +294 -0
  284. pyasic_rs-0.6.2/asic-rs-firmwares/proto/src/firmware.rs +97 -0
  285. pyasic_rs-0.6.2/asic-rs-firmwares/proto/src/lib.rs +3 -0
  286. pyasic_rs-0.6.2/asic-rs-firmwares/proto/src/test/json/mod.rs +1 -0
  287. pyasic_rs-0.6.2/asic-rs-firmwares/proto/src/test/json/v1/cooling.json +29 -0
  288. pyasic_rs-0.6.2/asic-rs-firmwares/proto/src/test/json/v1/errors.json +1 -0
  289. pyasic_rs-0.6.2/asic-rs-firmwares/proto/src/test/json/v1/hardware.json +97 -0
  290. pyasic_rs-0.6.2/asic-rs-firmwares/proto/src/test/json/v1/mining.json +19 -0
  291. pyasic_rs-0.6.2/asic-rs-firmwares/proto/src/test/json/v1/mod.rs +11 -0
  292. pyasic_rs-0.6.2/asic-rs-firmwares/proto/src/test/json/v1/network.json +10 -0
  293. pyasic_rs-0.6.2/asic-rs-firmwares/proto/src/test/json/v1/pools.json +30 -0
  294. pyasic_rs-0.6.2/asic-rs-firmwares/proto/src/test/json/v1/system.json +42 -0
  295. pyasic_rs-0.6.2/asic-rs-firmwares/proto/src/test/json/v1/telemetry_full.json +195 -0
  296. pyasic_rs-0.6.2/asic-rs-firmwares/proto/src/test/mod.rs +1 -0
  297. pyasic_rs-0.6.2/asic-rs-firmwares/sealminer/Cargo.toml +25 -0
  298. pyasic_rs-0.6.2/asic-rs-firmwares/sealminer/src/backends/mod.rs +22 -0
  299. pyasic_rs-0.6.2/asic-rs-firmwares/sealminer/src/backends/v2025/mod.rs +969 -0
  300. pyasic_rs-0.6.2/asic-rs-firmwares/sealminer/src/backends/v2025/rpc.rs +160 -0
  301. pyasic_rs-0.6.2/asic-rs-firmwares/sealminer/src/backends/v2025/web.rs +191 -0
  302. pyasic_rs-0.6.2/asic-rs-firmwares/sealminer/src/firmware.rs +165 -0
  303. pyasic_rs-0.6.2/asic-rs-firmwares/sealminer/src/lib.rs +3 -0
  304. pyasic_rs-0.6.2/asic-rs-firmwares/sealminer/src/test/json/mod.rs +1 -0
  305. pyasic_rs-0.6.2/asic-rs-firmwares/sealminer/src/test/json/v2025/get_system_info.json +22 -0
  306. pyasic_rs-0.6.2/asic-rs-firmwares/sealminer/src/test/json/v2025/miner_psu_status.json +8 -0
  307. pyasic_rs-0.6.2/asic-rs-firmwares/sealminer/src/test/json/v2025/mod.rs +9 -0
  308. pyasic_rs-0.6.2/asic-rs-firmwares/sealminer/src/test/json/v2025/pools.json +52 -0
  309. pyasic_rs-0.6.2/asic-rs-firmwares/sealminer/src/test/json/v2025/stats.json +137 -0
  310. pyasic_rs-0.6.2/asic-rs-firmwares/sealminer/src/test/json/v2025/summary.json +45 -0
  311. pyasic_rs-0.6.2/asic-rs-firmwares/sealminer/src/test/json/v2025/version.json +18 -0
  312. pyasic_rs-0.6.2/asic-rs-firmwares/sealminer/src/test/mod.rs +1 -0
  313. pyasic_rs-0.6.2/asic-rs-firmwares/vnish/Cargo.toml +28 -0
  314. pyasic_rs-0.6.2/asic-rs-firmwares/vnish/src/backends/mod.rs +18 -0
  315. pyasic_rs-0.6.2/asic-rs-firmwares/vnish/src/backends/v1_2_0/mod.rs +867 -0
  316. pyasic_rs-0.6.2/asic-rs-firmwares/vnish/src/backends/v1_2_0/web.rs +333 -0
  317. pyasic_rs-0.6.2/asic-rs-firmwares/vnish/src/firmware.rs +90 -0
  318. pyasic_rs-0.6.2/asic-rs-firmwares/vnish/src/lib.rs +2 -0
  319. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/Cargo.toml +34 -0
  320. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/backends/mod.rs +33 -0
  321. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/backends/v1/mod.rs +828 -0
  322. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/backends/v1/rpc.rs +129 -0
  323. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/backends/v2/mod.rs +1206 -0
  324. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/backends/v2/rpc.rs +391 -0
  325. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/backends/v3/mod.rs +1202 -0
  326. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/backends/v3/rpc.rs +334 -0
  327. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/error_codes.rs +664 -0
  328. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/firmware.rs +137 -0
  329. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/lib.rs +4 -0
  330. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/mod.rs +3 -0
  331. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v1/devs.json +128 -0
  332. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v1/get_psu.json +12 -0
  333. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v1/get_version.json +10 -0
  334. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v1/mod.rs +9 -0
  335. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v1/pools.json +125 -0
  336. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v1/status.json +10 -0
  337. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v1/summary.json +76 -0
  338. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v1/summary_with_errors.json +78 -0
  339. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v2/devs.json +83 -0
  340. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v2/get_error_code.json +9 -0
  341. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v2/get_error_code_with_errors.json +16 -0
  342. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v2/get_miner_info.json +11 -0
  343. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v2/get_psu.json +13 -0
  344. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v2/get_version.json +11 -0
  345. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v2/mod.rs +12 -0
  346. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v2/pools.json +44 -0
  347. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v2/status.json +15 -0
  348. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v2/summary.json +36 -0
  349. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v3/get_device_info.json +52 -0
  350. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v3/get_device_info_with_errors.json +74 -0
  351. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v3/get_miner_status_edevs.json +45 -0
  352. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v3/get_miner_status_pools.json +30 -0
  353. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v3/get_miner_status_summary.json +34 -0
  354. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/json/v3/mod.rs +9 -0
  355. pyasic_rs-0.6.2/asic-rs-firmwares/whatsminer/src/test/mod.rs +1 -0
  356. pyasic_rs-0.6.2/asic-rs-makes/antminer/Cargo.toml +21 -0
  357. pyasic_rs-0.6.2/asic-rs-makes/antminer/src/hardware.rs +281 -0
  358. pyasic_rs-0.6.2/asic-rs-makes/antminer/src/lib.rs +3 -0
  359. pyasic_rs-0.6.2/asic-rs-makes/antminer/src/make.rs +27 -0
  360. pyasic_rs-0.6.2/asic-rs-makes/antminer/src/models.rs +172 -0
  361. pyasic_rs-0.6.2/asic-rs-makes/auradine/Cargo.toml +21 -0
  362. pyasic_rs-0.6.2/asic-rs-makes/auradine/src/hardware.rs +63 -0
  363. pyasic_rs-0.6.2/asic-rs-makes/auradine/src/lib.rs +3 -0
  364. pyasic_rs-0.6.2/asic-rs-makes/auradine/src/make.rs +22 -0
  365. pyasic_rs-0.6.2/asic-rs-makes/auradine/src/models.rs +64 -0
  366. pyasic_rs-0.6.2/asic-rs-makes/avalon/Cargo.toml +21 -0
  367. pyasic_rs-0.6.2/asic-rs-makes/avalon/src/hardware.rs +129 -0
  368. pyasic_rs-0.6.2/asic-rs-makes/avalon/src/lib.rs +3 -0
  369. pyasic_rs-0.6.2/asic-rs-makes/avalon/src/make.rs +21 -0
  370. pyasic_rs-0.6.2/asic-rs-makes/avalon/src/models.rs +93 -0
  371. pyasic_rs-0.6.2/asic-rs-makes/bitaxe/Cargo.toml +21 -0
  372. pyasic_rs-0.6.2/asic-rs-makes/bitaxe/src/hardware.rs +80 -0
  373. pyasic_rs-0.6.2/asic-rs-makes/bitaxe/src/lib.rs +3 -0
  374. pyasic_rs-0.6.2/asic-rs-makes/bitaxe/src/make.rs +21 -0
  375. pyasic_rs-0.6.2/asic-rs-makes/bitaxe/src/models.rs +63 -0
  376. pyasic_rs-0.6.2/asic-rs-makes/braiins/Cargo.toml +21 -0
  377. pyasic_rs-0.6.2/asic-rs-makes/braiins/src/hardware.rs +49 -0
  378. pyasic_rs-0.6.2/asic-rs-makes/braiins/src/lib.rs +3 -0
  379. pyasic_rs-0.6.2/asic-rs-makes/braiins/src/make.rs +21 -0
  380. pyasic_rs-0.6.2/asic-rs-makes/braiins/src/models.rs +62 -0
  381. pyasic_rs-0.6.2/asic-rs-makes/epic/Cargo.toml +21 -0
  382. pyasic_rs-0.6.2/asic-rs-makes/epic/src/hardware.rs +57 -0
  383. pyasic_rs-0.6.2/asic-rs-makes/epic/src/lib.rs +3 -0
  384. pyasic_rs-0.6.2/asic-rs-makes/epic/src/make.rs +21 -0
  385. pyasic_rs-0.6.2/asic-rs-makes/epic/src/models.rs +59 -0
  386. pyasic_rs-0.6.2/asic-rs-makes/futurebit/Cargo.toml +21 -0
  387. pyasic_rs-0.6.2/asic-rs-makes/futurebit/src/hardware.rs +49 -0
  388. pyasic_rs-0.6.2/asic-rs-makes/futurebit/src/lib.rs +3 -0
  389. pyasic_rs-0.6.2/asic-rs-makes/futurebit/src/make.rs +22 -0
  390. pyasic_rs-0.6.2/asic-rs-makes/futurebit/src/models.rs +46 -0
  391. pyasic_rs-0.6.2/asic-rs-makes/marathon/Cargo.toml +21 -0
  392. pyasic_rs-0.6.2/asic-rs-makes/marathon/src/hardware.rs +31 -0
  393. pyasic_rs-0.6.2/asic-rs-makes/marathon/src/lib.rs +1 -0
  394. pyasic_rs-0.6.2/asic-rs-makes/nerdaxe/Cargo.toml +21 -0
  395. pyasic_rs-0.6.2/asic-rs-makes/nerdaxe/src/hardware.rs +93 -0
  396. pyasic_rs-0.6.2/asic-rs-makes/nerdaxe/src/lib.rs +3 -0
  397. pyasic_rs-0.6.2/asic-rs-makes/nerdaxe/src/make.rs +21 -0
  398. pyasic_rs-0.6.2/asic-rs-makes/nerdaxe/src/models.rs +67 -0
  399. pyasic_rs-0.6.2/asic-rs-makes/proto/Cargo.toml +21 -0
  400. pyasic_rs-0.6.2/asic-rs-makes/proto/src/hardware.rs +66 -0
  401. pyasic_rs-0.6.2/asic-rs-makes/proto/src/lib.rs +3 -0
  402. pyasic_rs-0.6.2/asic-rs-makes/proto/src/make.rs +22 -0
  403. pyasic_rs-0.6.2/asic-rs-makes/proto/src/models.rs +50 -0
  404. pyasic_rs-0.6.2/asic-rs-makes/sealminer/Cargo.toml +18 -0
  405. pyasic_rs-0.6.2/asic-rs-makes/sealminer/src/hardware.rs +44 -0
  406. pyasic_rs-0.6.2/asic-rs-makes/sealminer/src/lib.rs +3 -0
  407. pyasic_rs-0.6.2/asic-rs-makes/sealminer/src/make.rs +27 -0
  408. pyasic_rs-0.6.2/asic-rs-makes/sealminer/src/models.rs +31 -0
  409. pyasic_rs-0.6.2/asic-rs-makes/whatsminer/Cargo.toml +21 -0
  410. pyasic_rs-0.6.2/asic-rs-makes/whatsminer/src/hardware.rs +2063 -0
  411. pyasic_rs-0.6.2/asic-rs-makes/whatsminer/src/lib.rs +3 -0
  412. pyasic_rs-0.6.2/asic-rs-makes/whatsminer/src/make.rs +21 -0
  413. pyasic_rs-0.6.2/asic-rs-makes/whatsminer/src/models.rs +1053 -0
  414. pyasic_rs-0.6.2/asic-rs-pydantic/Cargo.toml +15 -0
  415. pyasic_rs-0.6.2/asic-rs-pydantic/src/lib.rs +604 -0
  416. pyasic_rs-0.6.2/asic-rs-pydantic-macros/Cargo.toml +25 -0
  417. pyasic_rs-0.6.2/asic-rs-pydantic-macros/src/lib.rs +1806 -0
  418. pyasic_rs-0.6.2/asic-rs-pydantic-macros/tests/ui/fail/duplicate_serializer.rs +11 -0
  419. pyasic_rs-0.6.2/asic-rs-pydantic-macros/tests/ui/fail/duplicate_serializer.stderr +5 -0
  420. pyasic_rs-0.6.2/asic-rs-pydantic-macros/tests/ui/fail/missing_schema.rs +18 -0
  421. pyasic_rs-0.6.2/asic-rs-pydantic-macros/tests/ui/fail/missing_schema.stderr +8 -0
  422. pyasic_rs-0.6.2/asic-rs-pydantic-macros/tests/ui/pass/pydantic_model.rs +135 -0
  423. pyasic_rs-0.6.2/asic-rs-pydantic-macros/tests/ui.rs +6 -0
  424. pyasic_rs-0.6.2/build.rs +7 -0
  425. pyasic_rs-0.6.2/cliff.toml +78 -0
  426. pyasic_rs-0.6.2/clippy.toml +3 -0
  427. pyasic_rs-0.6.2/docs/api.md +199 -0
  428. pyasic_rs-0.6.2/docs/development/documentation.md +68 -0
  429. pyasic_rs-0.6.2/docs/getting-started.md +253 -0
  430. pyasic_rs-0.6.2/docs/index.md +50 -0
  431. pyasic_rs-0.6.2/docs/stylesheets/extra.css +11 -0
  432. pyasic_rs-0.6.2/docs/supported-devices.md +735 -0
  433. pyasic_rs-0.6.2/docs-shared/guide.md +435 -0
  434. pyasic_rs-0.6.2/meta/braiins/21.09/schema.graphql +891 -0
  435. pyasic_rs-0.6.2/meta/braiins/24.09/schema.graphql +1105 -0
  436. pyasic_rs-0.6.2/meta/braiins/25.03/schema.graphql +1279 -0
  437. pyasic_rs-0.6.2/meta/braiins/25.05.1/schema.graphql +1312 -0
  438. pyasic_rs-0.6.2/meta/braiins/25.07/openapi.json +5448 -0
  439. pyasic_rs-0.6.2/meta/braiins/26.04/openapi.json +6123 -0
  440. pyasic_rs-0.6.2/meta/epic/1.22.5/powerplay.json +5285 -0
  441. pyasic_rs-0.6.2/meta/epic/1.30.0/powerplay.json +7224 -0
  442. pyasic_rs-0.6.2/meta/futurebit/v2/schema.graphql +1041 -0
  443. pyasic_rs-0.6.2/meta/vnish/v1.2.6/api-doc.json +4860 -0
  444. pyasic_rs-0.6.2/meta/vnish/v1.2.7/api-doc.json +4860 -0
  445. pyasic_rs-0.6.2/pyproject.toml +77 -0
  446. pyasic_rs-0.6.2/python/__init__.py +0 -0
  447. pyasic_rs-0.6.2/python/pyasic_rs/__init__.py +31 -0
  448. pyasic_rs-0.6.2/python/pyasic_rs/asic_rs.pyi +874 -0
  449. pyasic_rs-0.6.2/python/pyasic_rs/config.py +19 -0
  450. pyasic_rs-0.6.2/python/pyasic_rs/data.py +39 -0
  451. pyasic_rs-0.6.2/python/pyasic_rs/factory.py +9 -0
  452. pyasic_rs-0.6.2/python/pyasic_rs/miner.py +9 -0
  453. pyasic_rs-0.6.2/python/pyasic_rs/py.typed +0 -0
  454. pyasic_rs-0.6.2/python/tests/test_pydantic_interop.py +758 -0
  455. pyasic_rs-0.6.2/rust-toolchain.toml +4 -0
  456. pyasic_rs-0.6.2/scripts/bump-version.sh +40 -0
  457. pyasic_rs-0.6.2/scripts/docs/gen_supported_devices.py +571 -0
  458. pyasic_rs-0.6.2/scripts/run_python_tests.py +30 -0
  459. pyasic_rs-0.6.2/src/.gitignore +1 -0
  460. pyasic_rs-0.6.2/src/factory.rs +974 -0
  461. pyasic_rs-0.6.2/src/lib.rs +39 -0
  462. pyasic_rs-0.6.2/src/listener.rs +191 -0
  463. pyasic_rs-0.6.2/src/python/factory.rs +431 -0
  464. pyasic_rs-0.6.2/src/python/miner.rs +673 -0
  465. pyasic_rs-0.6.2/src/python/mod.rs +46 -0
  466. pyasic_rs-0.6.2/src/python/typing.rs +189 -0
  467. pyasic_rs-0.6.2/zensical.toml +81 -0
@@ -0,0 +1 @@
1
+ python/pyasic_rs/asic_rs.pyi linguist-generated=true
@@ -0,0 +1,30 @@
1
+ name: Documentation
2
+ on:
3
+ push:
4
+ branches:
5
+ - master
6
+ - main
7
+ permissions:
8
+ contents: read
9
+ pages: write
10
+ id-token: write
11
+ jobs:
12
+ deploy:
13
+ if: github.repository == '256foundation/asic-rs'
14
+ environment:
15
+ name: github-pages
16
+ url: ${{ steps.deployment.outputs.page_url }}
17
+ runs-on: ubuntu-latest
18
+ steps:
19
+ - uses: actions/configure-pages@v5
20
+ - uses: actions/checkout@v6
21
+ - uses: actions/setup-python@v6
22
+ with:
23
+ python-version: 3.x
24
+ - run: pip install zensical tomli-w
25
+ - run: zensical build --clean
26
+ - uses: actions/upload-pages-artifact@v4
27
+ with:
28
+ path: site
29
+ - uses: actions/deploy-pages@v4
30
+ id: deployment
@@ -0,0 +1,59 @@
1
+ name: Cargo Assist
2
+
3
+ permissions:
4
+ contents: write
5
+ pull-requests: write
6
+
7
+ on:
8
+ push:
9
+ pull_request:
10
+
11
+ jobs:
12
+ cargo-assist:
13
+ name: Cargo Assist
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - name: Checkout repository
17
+ uses: actions/checkout@v5
18
+ - name: Install Rust toolchain
19
+ uses: dtolnay/rust-toolchain@stable
20
+ - name: Run Cargo Assist
21
+ uses: MarcoIeni/cargo-assist@v0.1.1
22
+ with:
23
+ github_token: ${{ secrets.GITHUB_TOKEN }}
24
+
25
+ conventional-commits:
26
+ name: Conventional Commits
27
+ if: github.event_name == 'pull_request'
28
+ runs-on: ubuntu-latest
29
+ steps:
30
+ - name: Checkout repository
31
+ uses: actions/checkout@v5
32
+ with:
33
+ fetch-depth: 0
34
+ - name: Validate commit messages
35
+ env:
36
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
37
+ run: |
38
+ pattern='^(feat|fix|docs|style|refactor|perf|test|build|ci|chore|revert|feature|bug)(\([a-zA-Z0-9_/-]+\))?!?: .+'
39
+ base="${{ github.event.pull_request.base.sha }}"
40
+ head="${{ github.event.pull_request.head.sha }}"
41
+
42
+ bad_commits=""
43
+ while IFS= read -r line; do
44
+ sha="${line%% *}"
45
+ msg="${line#* }"
46
+ if [[ "$msg" =~ ^Merge\ ]]; then
47
+ continue
48
+ fi
49
+ if ! [[ "$msg" =~ $pattern ]]; then
50
+ bad_commits+="- \`${sha:0:7}\` ${msg}\n"
51
+ fi
52
+ done < <(git log --format="%H %s" "$base".."$head")
53
+
54
+ if [ -n "$bad_commits" ]; then
55
+ body=$(printf "### Conventional Commits\n\nThe following commit messages do not follow the [Conventional Commits](https://www.conventionalcommits.org/) specification:\n\n${bad_commits}\nExpected format: \`<type>[optional scope]: <description>\`\n\nValid types: \`feat\`, \`fix\`, \`docs\`, \`style\`, \`refactor\`, \`perf\`, \`test\`, \`build\`, \`ci\`, \`chore\`, \`revert\`")
56
+ gh pr comment "${{ github.event.pull_request.number }}" --body "$body"
57
+ echo "::error::Some commit messages do not follow the Conventional Commits specification."
58
+ exit 1
59
+ fi
@@ -0,0 +1,32 @@
1
+ name: Update README
2
+
3
+ permissions:
4
+ contents: write
5
+
6
+ on:
7
+ push:
8
+ branches:
9
+ - '**'
10
+
11
+ jobs:
12
+ readme:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - name: Checkout repository
16
+ uses: actions/checkout@v5
17
+ - name: Run doc2readme
18
+ uses: docker://codeberg.org/msrd0/cargo-doc2readme:nightly
19
+ with:
20
+ entrypoint: cargo
21
+ args: doc2readme --expand-macros
22
+ - uses: actions/setup-python@v6
23
+ with:
24
+ python-version: 3.x
25
+ - name: Run Python tests
26
+ run: python scripts/docs/gen_supported_devices.py
27
+ - name: Commit updated README/docs
28
+ run: |
29
+ git config user.name "github-actions[bot]"
30
+ git config user.email "github-actions[bot]@users.noreply.github.com"
31
+ git add README.md docs/supported-devices.md
32
+ git diff --cached --quiet || git commit -m "docs: update README" && git push
@@ -0,0 +1,295 @@
1
+ name: Publish Release
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ version:
7
+ description: "Version to release, without leading v (for example: 0.5.1)"
8
+ required: true
9
+ type: string
10
+
11
+ permissions:
12
+ contents: read
13
+
14
+ env:
15
+ CARGO_TERM_COLOR: always
16
+
17
+ jobs:
18
+ prepare-release:
19
+ runs-on: ubuntu-24.04
20
+ permissions:
21
+ contents: write
22
+ outputs:
23
+ version: ${{ steps.release.outputs.version }}
24
+ tag: ${{ steps.release.outputs.tag }}
25
+ steps:
26
+ - uses: actions/checkout@v6
27
+ with:
28
+ fetch-depth: 0
29
+
30
+ - name: Configure git
31
+ run: |
32
+ git config user.name "github-actions[bot]"
33
+ git config user.email "github-actions[bot]@users.noreply.github.com"
34
+
35
+ - name: Bump versions, commit, and tag
36
+ id: release
37
+ env:
38
+ VERSION: ${{ inputs.version }}
39
+ run: |
40
+ set -euo pipefail
41
+
42
+ if ! [[ "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
43
+ echo "Version must be in X.Y.Z format, got: $VERSION" >&2
44
+ exit 1
45
+ fi
46
+
47
+ TAG="v${VERSION}"
48
+ if git rev-parse "$TAG" >/dev/null 2>&1; then
49
+ echo "Tag $TAG already exists" >&2
50
+ exit 1
51
+ fi
52
+
53
+ CURRENT_VERSION=$(sed -n '/^\[workspace\.package\]/,/^\[/{s/^version = "\(.*\)"/\1/p}' Cargo.toml)
54
+
55
+ sed -i '/^\[workspace\.package\]/,/^\[/{s/^version = ".*"/version = "'"$VERSION"'"/}' Cargo.toml
56
+ sed -i '/^\[workspace\.dependencies\]/,/^\[/{s/version = "'"$CURRENT_VERSION"'"/version = "'"$VERSION"'"/g}' Cargo.toml
57
+ sed -i '/^\[project\]/,/^\[/{s/^version = ".*"/version = "'"$VERSION"'"/}' pyproject.toml
58
+
59
+ declare -A CARGO_MANIFESTS=()
60
+ CARGO_MANIFESTS["./Cargo.toml"]=1
61
+
62
+ while IFS= read -r -d '' manifest; do
63
+ dir="$(dirname "$manifest")"
64
+
65
+ if grep -q '^[[:space:]]*\[workspace\]' "$manifest" || [ -f "$dir/Cargo.lock" ]; then
66
+ CARGO_MANIFESTS["$manifest"]=1
67
+ fi
68
+ done < <(
69
+ find . \
70
+ \( -path './.git' -o -path '*/target' \) -prune -o \
71
+ -name Cargo.toml -print0
72
+ )
73
+
74
+ for manifest in "${!CARGO_MANIFESTS[@]}"; do
75
+ echo "::group::cargo update --workspace --manifest-path ${manifest}"
76
+ cargo update --workspace --manifest-path "$manifest"
77
+ echo "::endgroup::"
78
+ done
79
+
80
+ docker run --rm -v "$PWD:/workspace" -w /workspace \
81
+ codeberg.org/msrd0/cargo-doc2readme:nightly \
82
+ cargo doc2readme --expand-macros
83
+
84
+ git add Cargo.toml pyproject.toml README.md
85
+
86
+ while IFS= read -r -d '' lockfile; do
87
+ git add "$lockfile"
88
+ done < <(
89
+ find . \
90
+ \( -path './.git' -o -path '*/target' \) -prune -o \
91
+ -name Cargo.lock -print0
92
+ )
93
+
94
+ if ! git diff --quiet; then
95
+ echo "Unstaged generated changes remain:" >&2
96
+ git status --short
97
+ exit 1
98
+ fi
99
+
100
+ if git diff --cached --quiet; then
101
+ echo "No version changes to commit" >&2
102
+ exit 1
103
+ fi
104
+
105
+ git commit -m "chore(release): prepare for ${TAG}"
106
+ git tag "$TAG"
107
+ git push origin "HEAD:${GITHUB_REF}"
108
+ git push origin "$TAG"
109
+
110
+ echo "version=$VERSION" >> "$GITHUB_OUTPUT"
111
+ echo "tag=$TAG" >> "$GITHUB_OUTPUT"
112
+
113
+ build-python-wheels:
114
+ needs: prepare-release
115
+ name: Build Python wheels (${{ matrix.artifact }})
116
+ runs-on: ${{ matrix.os }}
117
+ strategy:
118
+ fail-fast: false
119
+ matrix:
120
+ include:
121
+ - artifact: manylinux-x86_64
122
+ os: ubuntu-24.04
123
+ target: x86_64
124
+ manylinux: "2_28"
125
+ python_architecture: x64
126
+ - artifact: manylinux-x86
127
+ os: ubuntu-24.04
128
+ target: x86
129
+ manylinux: "2_28"
130
+ python_architecture: x64
131
+ - artifact: manylinux-aarch64
132
+ os: ubuntu-24.04
133
+ target: aarch64
134
+ manylinux: "2_28"
135
+ python_architecture: x64
136
+ - artifact: manylinux-armv7
137
+ os: ubuntu-24.04
138
+ target: armv7
139
+ manylinux: "2_28"
140
+ python_architecture: x64
141
+ - artifact: manylinux-s390x
142
+ os: ubuntu-24.04
143
+ target: s390x
144
+ manylinux: "2_28"
145
+ python_architecture: x64
146
+ - artifact: manylinux-ppc64le
147
+ os: ubuntu-24.04
148
+ target: ppc64le
149
+ manylinux: "2_28"
150
+ python_architecture: x64
151
+ - artifact: musllinux-x86_64
152
+ os: ubuntu-24.04
153
+ target: x86_64
154
+ manylinux: musllinux_1_2
155
+ python_architecture: x64
156
+ - artifact: musllinux-x86
157
+ os: ubuntu-24.04
158
+ target: x86
159
+ manylinux: musllinux_1_2
160
+ python_architecture: x64
161
+ - artifact: musllinux-aarch64
162
+ os: ubuntu-24.04
163
+ target: aarch64
164
+ manylinux: musllinux_1_2
165
+ python_architecture: x64
166
+ - artifact: musllinux-armv7
167
+ os: ubuntu-24.04
168
+ target: armv7
169
+ manylinux: musllinux_1_2
170
+ python_architecture: x64
171
+ - artifact: windows-x64
172
+ os: windows-latest
173
+ target: x64
174
+ python_architecture: x64
175
+ - artifact: windows-x86
176
+ os: windows-latest
177
+ target: x86
178
+ python_architecture: x86
179
+ - artifact: macos-aarch64
180
+ os: macos-14
181
+ target: aarch64
182
+ python_architecture: arm64
183
+ steps:
184
+ - uses: actions/checkout@v6
185
+ with:
186
+ ref: ${{ needs.prepare-release.outputs.tag }}
187
+
188
+ - uses: actions/setup-python@v6
189
+ with:
190
+ python-version: "3.x"
191
+ architecture: ${{ matrix.python_architecture }}
192
+
193
+ - name: Build wheels
194
+ uses: PyO3/maturin-action@v1
195
+ with:
196
+ target: ${{ matrix.target }}
197
+ args: --release --out dist --find-interpreter
198
+ sccache: true
199
+ manylinux: ${{ matrix.manylinux }}
200
+
201
+ - name: Upload wheels
202
+ uses: actions/upload-artifact@v6
203
+ with:
204
+ name: wheels-${{ matrix.artifact }}
205
+ path: dist/*.whl
206
+ if-no-files-found: error
207
+
208
+ build-python-sdist:
209
+ needs: prepare-release
210
+ runs-on: ubuntu-24.04
211
+ steps:
212
+ - uses: actions/checkout@v6
213
+ with:
214
+ ref: ${{ needs.prepare-release.outputs.tag }}
215
+
216
+ - name: Build sdist
217
+ uses: PyO3/maturin-action@v1
218
+ with:
219
+ command: sdist
220
+ args: --out dist
221
+
222
+ - name: Upload sdist
223
+ uses: actions/upload-artifact@v6
224
+ with:
225
+ name: wheels-sdist
226
+ path: dist/*.tar.gz
227
+ if-no-files-found: error
228
+
229
+ publish-rust:
230
+ needs: prepare-release
231
+ runs-on: ubuntu-24.04
232
+ steps:
233
+ - uses: actions/checkout@v6
234
+ with:
235
+ ref: ${{ needs.prepare-release.outputs.tag }}
236
+
237
+ - name: Install cargo-workspaces
238
+ run: cargo install cargo-workspaces --locked
239
+
240
+ - name: Publish crates
241
+ env:
242
+ CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
243
+ run: cargo workspaces publish --from-git --yes
244
+
245
+ release:
246
+ runs-on: ubuntu-24.04
247
+ needs:
248
+ - prepare-release
249
+ - build-python-wheels
250
+ - build-python-sdist
251
+ - publish-rust
252
+ permissions:
253
+ contents: write
254
+ id-token: write
255
+ attestations: write
256
+ steps:
257
+ - uses: actions/checkout@v6
258
+ with:
259
+ ref: ${{ needs.prepare-release.outputs.tag }}
260
+ fetch-depth: 0
261
+
262
+ - uses: actions/download-artifact@v4
263
+ with:
264
+ pattern: wheels-*
265
+ path: dist
266
+ merge-multiple: true
267
+
268
+ - name: Generate artifact attestation
269
+ uses: actions/attest-build-provenance@v2
270
+ with:
271
+ subject-path: "dist/*"
272
+
273
+ - name: Install uv
274
+ uses: astral-sh/setup-uv@v8.2.0
275
+
276
+ - name: Publish to PyPI
277
+ env:
278
+ UV_PUBLISH_TOKEN: ${{ secrets.PYPI_TOKEN }}
279
+ run: uv publish --trusted-publishing automatic --check-url https://pypi.org/simple/ dist/*
280
+
281
+ - name: Generate changelog
282
+ id: changelog
283
+ uses: orhun/git-cliff-action@v4
284
+ with:
285
+ args: --latest
286
+ env:
287
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
288
+
289
+ - name: Create GitHub Release
290
+ uses: softprops/action-gh-release@v2
291
+ with:
292
+ tag_name: ${{ needs.prepare-release.outputs.tag }}
293
+ body: ${{ steps.changelog.outputs.content }}
294
+ env:
295
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,49 @@
1
+ name: Run Tests
2
+
3
+ on:
4
+ push:
5
+ pull_request:
6
+
7
+ jobs:
8
+ cargo-test:
9
+ name: Cargo Test
10
+ runs-on: ubuntu-latest
11
+ container:
12
+ image: rust:latest
13
+ steps:
14
+ - name: Checkout repository
15
+ uses: actions/checkout@v5
16
+ with:
17
+ token: ${{ secrets.GITHUB_TOKEN }}
18
+
19
+ - name: Run tests
20
+ run: cargo test --all --locked --exclude asic-rs-pydantic --exclude asic-rs-pydantic-macros
21
+
22
+ python-test:
23
+ name: Python Test
24
+ runs-on: ubuntu-latest
25
+ steps:
26
+ - name: Checkout repository
27
+ uses: actions/checkout@v5
28
+ with:
29
+ token: ${{ secrets.GITHUB_TOKEN }}
30
+
31
+ - name: Set up Python
32
+ uses: actions/setup-python@v6
33
+ with:
34
+ python-version: "3.11"
35
+
36
+ - name: Set up Rust
37
+ uses: dtolnay/rust-toolchain@stable
38
+
39
+ - name: Create Python environment
40
+ run: python -m venv .venv
41
+
42
+ - name: Install maturin
43
+ run: .venv/bin/python -m pip install --upgrade pip maturin
44
+
45
+ - name: Build and install package with test dependencies
46
+ run: VIRTUAL_ENV="$PWD/.venv" .venv/bin/maturin develop --features python --extras test
47
+
48
+ - name: Run Python tests
49
+ run: .venv/bin/python -m pytest python/tests
@@ -0,0 +1,7 @@
1
+ /target
2
+ /site
3
+ /.idea
4
+ /.vscode
5
+ /.git
6
+ CLAUDE.md
7
+ .DS_Store
@@ -0,0 +1,70 @@
1
+ # Skip rust checks in CI, they are run separately
2
+ ci:
3
+ autofix_commit_msg: "chore(format): auto fixes from pre-commit.ci"
4
+ skip:
5
+ - fmt
6
+ - cargo-check
7
+ - clippy
8
+
9
+ # See https://pre-commit.com for more information
10
+ # See https://pre-commit.com/hooks.html for more hooks
11
+ repos:
12
+ - repo: https://github.com/pre-commit/pre-commit-hooks
13
+ rev: v3.2.0
14
+ hooks:
15
+ - id: trailing-whitespace
16
+ - id: end-of-file-fixer
17
+ - id: check-yaml
18
+ - id: check-added-large-files
19
+ - id: pretty-format-json
20
+ args: ["--autofix", "--indent=2"]
21
+ - repo: https://github.com/compilerla/conventional-pre-commit
22
+ rev: v4.0.0
23
+ hooks:
24
+ - id: conventional-pre-commit
25
+ stages: [commit-msg]
26
+ - repo: https://github.com/doublify/pre-commit-rust
27
+ rev: v1.0
28
+ hooks:
29
+ - id: fmt
30
+ - id: cargo-check
31
+ - id: clippy
32
+ args: ["--all-targets", "--all-features", "--workspace", "--fix", "--allow-dirty"]
33
+ - repo: https://github.com/astral-sh/uv-pre-commit
34
+ rev: 0.11.6
35
+ hooks:
36
+ - id: uv-lock
37
+ alias: generate-pyo3-stubs
38
+ name: generate PyO3 stubs
39
+ entry: uvx maturin generate-stubs --features python -o python/pyasic_rs
40
+ always_run: true
41
+ pass_filenames: false
42
+ - repo: https://github.com/pre-commit/mirrors-mypy
43
+ rev: v1.20.0
44
+ hooks:
45
+ - id: mypy
46
+ args: ["--config-file=pyproject.toml"]
47
+ additional_dependencies: [pydantic==2.12.5]
48
+ pass_filenames: false
49
+ - repo: local
50
+ hooks:
51
+ - id: cargo-test
52
+ name: cargo test
53
+ entry: cargo test --all --locked --exclude asic-rs-pydantic --exclude asic-rs-pydantic-macros
54
+ language: system
55
+ pass_filenames: false
56
+ always_run: true
57
+ stages: [pre-push]
58
+ - id: supported-devices-docs
59
+ name: check supported devices docs
60
+ entry: python scripts/docs/gen_supported_devices.py
61
+ language: python
62
+ pass_filenames: false
63
+ - id: python-test
64
+ name: python tests
65
+ entry: python scripts/run_python_tests.py
66
+ language: python
67
+ additional_dependencies: [uv]
68
+ pass_filenames: false
69
+ always_run: true
70
+ stages: [pre-push]