ok-script 2.0.0b2__tar.gz → 2.0.0b3__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 (352) hide show
  1. {ok_script-2.0.0b2/ok_script.egg-info → ok_script-2.0.0b3}/PKG-INFO +36 -5
  2. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/README.md +13 -3
  3. {ok_script-2.0.0b2 → ok_script-2.0.0b3/ok_script.egg-info}/PKG-INFO +36 -5
  4. ok_script-2.0.0b3/ok_script.egg-info/requires.txt +42 -0
  5. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/pyproject.toml +38 -10
  6. ok_script-2.0.0b3/tests/test_package_metadata.py +35 -0
  7. ok_script-2.0.0b2/ok_script.egg-info/requires.txt +0 -17
  8. ok_script-2.0.0b2/tests/test_package_metadata.py +0 -27
  9. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/LICENSE.txt +0 -0
  10. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/MANIFEST.in +0 -0
  11. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/diagnostics/qq_trace.py +0 -0
  12. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/__init__.py +0 -0
  13. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/__main__.py +0 -0
  14. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/alas/__init__.py +0 -0
  15. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/alas/emulator_base.py +0 -0
  16. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/alas/emulator_windows.py +0 -0
  17. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/alas/platform_windows.py +0 -0
  18. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/alas/utils.py +0 -0
  19. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/capture/__init__.py +0 -0
  20. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/capture/adb/__init__.py +0 -0
  21. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/capture/adb/deep.py +0 -0
  22. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/capture/adb/minitouch.py +0 -0
  23. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/capture/adb/nemu_ipc.py +0 -0
  24. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/capture/adb/nemu_utils.py +0 -0
  25. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/capture/adb/pool.py +0 -0
  26. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/capture/adb/timer.py +0 -0
  27. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/capture/adb/util.py +0 -0
  28. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/capture/windows/__init__.py +0 -0
  29. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/capture/windows/d3d11.py +0 -0
  30. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/capture/windows/dump.py +0 -0
  31. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/cli.py +0 -0
  32. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/core/__init__.py +0 -0
  33. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/core/config_schema.py +0 -0
  34. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/core/downloads.py +0 -0
  35. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/core/events.py +0 -0
  36. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/core/icons.py +0 -0
  37. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/core/notifications.py +0 -0
  38. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/core/screenshot.py +0 -0
  39. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/core/script_editing.py +0 -0
  40. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/core/script_packager.py +0 -0
  41. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/core/script_templates.py +0 -0
  42. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/core/start_controller.py +0 -0
  43. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/core/task_manager.py +0 -0
  44. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/core/template_store.py +0 -0
  45. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/core/translation.py +0 -0
  46. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/core/ui_config.py +0 -0
  47. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/DeviceManager.py +0 -0
  48. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/__init__.py +0 -0
  49. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/capture.py +0 -0
  50. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/capture_methods/__init__.py +0 -0
  51. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/capture_methods/adb.py +0 -0
  52. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/capture_methods/base.py +0 -0
  53. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/capture_methods/bitblt.py +0 -0
  54. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/capture_methods/bitblt_utils.py +0 -0
  55. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/capture_methods/browser.py +0 -0
  56. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/capture_methods/desktop_duplication.py +0 -0
  57. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/capture_methods/hwnd_window.py +0 -0
  58. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/capture_methods/image.py +0 -0
  59. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/capture_methods/nemu_ipc.py +0 -0
  60. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/capture_methods/types.py +0 -0
  61. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/capture_methods/update.py +0 -0
  62. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/capture_methods/windows_graphics.py +0 -0
  63. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/interaction.py +0 -0
  64. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/interaction_methods/__init__.py +0 -0
  65. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/interaction_methods/adb.py +0 -0
  66. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/interaction_methods/base.py +0 -0
  67. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/interaction_methods/browser.py +0 -0
  68. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/interaction_methods/do_nothing.py +0 -0
  69. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/interaction_methods/foreground_post_message.py +0 -0
  70. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/interaction_methods/genshin.py +0 -0
  71. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/interaction_methods/keys.py +0 -0
  72. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/interaction_methods/post_message.py +0 -0
  73. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/interaction_methods/pydirect.py +0 -0
  74. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/interaction_methods/pynput.py +0 -0
  75. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/interaction_methods/swipe.py +0 -0
  76. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/device/intercation.py +0 -0
  77. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/feature/Box.py +0 -0
  78. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/feature/Feature.py +0 -0
  79. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/feature/FeatureSet.py +0 -0
  80. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/feature/__init__.py +0 -0
  81. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/gui/__init__.py +0 -0
  82. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/gui/util/pyappify_startup.py +0 -0
  83. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/notification/__init__.py +0 -0
  84. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/notification/manager.py +0 -0
  85. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/notification/messenger_images.py +0 -0
  86. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/notification/pipeline.py +0 -0
  87. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/notification/ppocr.py +0 -0
  88. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/notification/providers.py +0 -0
  89. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/notification/system.py +0 -0
  90. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/notification/windows_messenger.py +0 -0
  91. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ocr/__init__.py +0 -0
  92. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ocr/download_paddle_model.py +0 -0
  93. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/Windows/Foundation/Collections.py +0 -0
  94. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/Windows/Foundation/__init__.py +0 -0
  95. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/Windows/Globalization/__init__.py +0 -0
  96. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/Windows/Graphics/Capture/__init__.py +0 -0
  97. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/Windows/Graphics/DirectX/Direct3D11/__init__.py +0 -0
  98. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/Windows/Graphics/DirectX/__init__.py +0 -0
  99. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/Windows/Graphics/Imaging/__init__.py +0 -0
  100. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/Windows/Graphics/__init__.py +0 -0
  101. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/Windows/Media/Ocr/__init__.py +0 -0
  102. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/Windows/Media/__init__.py +0 -0
  103. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/Windows/Security/Cryptography/__init__.py +0 -0
  104. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/Windows/Security/__init__.py +0 -0
  105. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/Windows/Storage/Streams/__init__.py +0 -0
  106. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/Windows/Storage/__init__.py +0 -0
  107. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/Windows/UI/ViewManagement/__init__.py +0 -0
  108. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/Windows/UI/__init__.py +0 -0
  109. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/Windows/__init__.py +0 -0
  110. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/__init__.py +0 -0
  111. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/delegate.py +0 -0
  112. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/export.py +0 -0
  113. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/idldsl.py +0 -0
  114. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/inspectable.py +0 -0
  115. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/roapi.py +0 -0
  116. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/types.py +0 -0
  117. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/rotypes/winstring.py +0 -0
  118. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/task/DiagnosisTask.py +0 -0
  119. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/task/TaskExecutor.py +0 -0
  120. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/task/__init__.py +0 -0
  121. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/task/exceptions.py +0 -0
  122. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/task/task.py +0 -0
  123. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/task/web.py +0 -0
  124. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/test/OKTestRunner.py +0 -0
  125. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/test/RunTests.py +0 -0
  126. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/test/TaskTestCase.py +0 -0
  127. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/test/__init__.py +0 -0
  128. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/third_party/__init__.py +0 -0
  129. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/third_party/paperclip.py +0 -0
  130. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/__init__.py +0 -0
  131. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/overlay/__init__.py +0 -0
  132. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/overlay/win32_gdi.py +0 -0
  133. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/Communicate.py +0 -0
  134. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/MainWindow.py +0 -0
  135. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/MessageWindow.py +0 -0
  136. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/StartController.py +0 -0
  137. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/TabTitles.py +0 -0
  138. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/__init__.py +0 -0
  139. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/about/AboutTab.py +0 -0
  140. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/about/HttpTextEdit.py +0 -0
  141. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/about/LinksBar.py +0 -0
  142. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/about/ProjectCard.py +0 -0
  143. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/about/VersionCard.py +0 -0
  144. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/about/__init__.py +0 -0
  145. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/common/OKIcon.py +0 -0
  146. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/common/__init__.py +0 -0
  147. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/common/accent_color.py +0 -0
  148. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/common/config.py +0 -0
  149. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/common/design_system.py +0 -0
  150. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/common/icons.py +0 -0
  151. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/common/style_sheet.py +0 -0
  152. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/debug/DebugTab.py +0 -0
  153. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/debug/OverlayWidget.py +0 -0
  154. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/debug/RunCodeTab.py +0 -0
  155. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/debug/Screenshot.py +0 -0
  156. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/debug/__init__.py +0 -0
  157. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/events.py +0 -0
  158. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/i18n/GettextTranslator.py +0 -0
  159. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/i18n/__init__.py +0 -0
  160. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/i18n/en_US.qm +0 -0
  161. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/i18n/en_US.ts +0 -0
  162. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/i18n/es_ES.qm +0 -0
  163. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/i18n/es_ES.ts +0 -0
  164. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/i18n/ja_JP.qm +0 -0
  165. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/i18n/ja_JP.ts +0 -0
  166. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/i18n/ko_KR.qm +0 -0
  167. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/i18n/ko_KR.ts +0 -0
  168. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/i18n/path.py +0 -0
  169. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/i18n/update.py +0 -0
  170. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/i18n/zh_CN.qm +0 -0
  171. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/i18n/zh_CN.ts +0 -0
  172. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/i18n/zh_TW.qm +0 -0
  173. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/i18n/zh_TW.ts +0 -0
  174. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/overlay/OverlayWindow.py +0 -0
  175. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/overlay/__init__.py +0 -0
  176. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/qss/__init__.py +0 -0
  177. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/qss/dark/card.qss +0 -0
  178. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/qss/dark/discord.svg +0 -0
  179. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/qss/dark/heart.svg +0 -0
  180. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/qss/dark/message_window.qss +0 -0
  181. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/qss/dark/setting_interface.qss +0 -0
  182. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/qss/dark/status_bar.qss +0 -0
  183. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/qss/dark/stop.svg +0 -0
  184. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/qss/dark/tab.qss +0 -0
  185. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/qss/light/card.qss +0 -0
  186. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/qss/light/discord.svg +0 -0
  187. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/qss/light/heart.svg +0 -0
  188. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/qss/light/message_window.qss +0 -0
  189. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/qss/light/setting_interface.qss +0 -0
  190. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/qss/light/status_bar.qss +0 -0
  191. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/qss/light/stop.svg +0 -0
  192. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/qss/light/tab.qss +0 -0
  193. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/qt.qrc +0 -0
  194. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/resources.py +0 -0
  195. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/settings/GlobalConfigCard.py +0 -0
  196. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/settings/GlobalConfigTab.py +0 -0
  197. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/settings/SettingTab.py +0 -0
  198. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/settings/__init__.py +0 -0
  199. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/start/LogWindow.py +0 -0
  200. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/start/SelectCaptureListView.py +0 -0
  201. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/start/SelectInteractionListView.py +0 -0
  202. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/start/StartCard.py +0 -0
  203. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/start/StartTab.py +0 -0
  204. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/start/__init__.py +0 -0
  205. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/ConfigCard.py +0 -0
  206. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/ConfigItemFactory.py +0 -0
  207. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/ConfigLabelAndWidget.py +0 -0
  208. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/EditTaskTab.py +0 -0
  209. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/LabelAndButtons.py +0 -0
  210. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/LabelAndDoubleSpinBox.py +0 -0
  211. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/LabelAndDropDown.py +0 -0
  212. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/LabelAndFileSelector.py +0 -0
  213. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/LabelAndGlobal.py +0 -0
  214. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/LabelAndLineEdit.py +0 -0
  215. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/LabelAndList.py +0 -0
  216. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/LabelAndMultiSelection.py +0 -0
  217. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/LabelAndSpinBox.py +0 -0
  218. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/LabelAndSwitchButton.py +0 -0
  219. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/LabelAndTextEdit.py +0 -0
  220. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/LabelAndWidget.py +0 -0
  221. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/MarkUpWindow.py +0 -0
  222. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/ModifyListDialog.py +0 -0
  223. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/ModifyListItem.py +0 -0
  224. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/OneTimeTaskTab.py +0 -0
  225. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/PythonHighlighter.py +0 -0
  226. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/RecordScript.py +0 -0
  227. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/ScheduleTaskTab.py +0 -0
  228. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/ScriptPackager.py +0 -0
  229. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/StartButton.py +0 -0
  230. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/TaskCard.py +0 -0
  231. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/TaskManger.py +0 -0
  232. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/TaskOpButton.py +0 -0
  233. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/TaskTab.py +0 -0
  234. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/TemplateFactory.py +0 -0
  235. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/TemplateTab.py +0 -0
  236. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/TooltipTableWidget.py +0 -0
  237. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/TriggerTaskTab.py +0 -0
  238. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/tasks/__init__.py +0 -0
  239. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/util/Alert.py +0 -0
  240. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/util/InitWorker.py +0 -0
  241. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/util/__init__.py +0 -0
  242. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/util/app.py +0 -0
  243. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/util/download.py +0 -0
  244. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/util/pip_util.py +0 -0
  245. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/util/pyappify_startup.py +0 -0
  246. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/util/touch_scroll.py +0 -0
  247. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/util/windows_thumbnail.py +0 -0
  248. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/widget/BaseLoading.py +0 -0
  249. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/widget/BaseWindow.py +0 -0
  250. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/widget/Card.py +0 -0
  251. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/widget/CustomTab.py +0 -0
  252. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/widget/EmptyCard.py +0 -0
  253. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/widget/ExpandCardLayout.py +0 -0
  254. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/widget/FlowLayout.py +0 -0
  255. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/widget/FramelessDialog.py +0 -0
  256. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/widget/ImageWidget.py +0 -0
  257. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/widget/ListTableWidgetItem.py +0 -0
  258. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/widget/NumericTableWidgetItem.py +0 -0
  259. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/widget/OkCompactSpinBox.py +0 -0
  260. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/widget/SortingTableWidgetItem.py +0 -0
  261. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/widget/StartLoadingDialog.py +0 -0
  262. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/widget/StatusBar.py +0 -0
  263. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/widget/Tab.py +0 -0
  264. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/widget/TabWidget.py +0 -0
  265. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/widget/UpdateConfigWidgetItem.py +0 -0
  266. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/widget/WidgetWithVLabel.py +0 -0
  267. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/widget/YesNonWidgetItem.py +0 -0
  268. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/qt/widget/__init__.py +0 -0
  269. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/web/__init__.py +0 -0
  270. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/web/app.py +0 -0
  271. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/web/server.py +0 -0
  272. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/web/static/app.js +0 -0
  273. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/web/static/chunk-fluent.js +0 -0
  274. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/web/static/chunk-react.js +0 -0
  275. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/web/static/index.css +0 -0
  276. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/ui/web/static/index.html +0 -0
  277. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/update/__init__.py +0 -0
  278. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/update/copy_ok_folder.py +0 -0
  279. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/update/inline_ok_requirements.py +0 -0
  280. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/util/Analytics.py +0 -0
  281. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/util/GlobalConfig.py +0 -0
  282. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/util/__init__.py +0 -0
  283. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/util/blur.py +0 -0
  284. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/util/clazz.py +0 -0
  285. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/util/collection.py +0 -0
  286. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/util/color.py +0 -0
  287. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/util/config.py +0 -0
  288. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/util/explorer.py +0 -0
  289. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/util/file.py +0 -0
  290. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/util/gpu_driver_settings.py +0 -0
  291. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/util/handler.py +0 -0
  292. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/util/i18n.py +0 -0
  293. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/util/logger.py +0 -0
  294. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/util/partial_sync_repo.py +0 -0
  295. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/util/print_hwnd.py +0 -0
  296. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/util/process.py +0 -0
  297. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/util/window.py +0 -0
  298. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok/util/windows_schedule.py +0 -0
  299. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok_script.egg-info/SOURCES.txt +0 -0
  300. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok_script.egg-info/dependency_links.txt +0 -0
  301. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok_script.egg-info/entry_points.txt +0 -0
  302. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok_script.egg-info/not-zip-safe +0 -0
  303. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/ok_script.egg-info/top_level.txt +0 -0
  304. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/scripts/generate_web_i18n.py +0 -0
  305. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/setup.cfg +0 -0
  306. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/setup.py +0 -0
  307. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_accent_color.py +0 -0
  308. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_app.py +0 -0
  309. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_base_interaction.py +0 -0
  310. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_blur.py +0 -0
  311. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_box.py +0 -0
  312. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_capture_update.py +0 -0
  313. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_cli.py +0 -0
  314. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_config_card.py +0 -0
  315. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_core_events.py +0 -0
  316. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_core_ui_services.py +0 -0
  317. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_device_manager.py +0 -0
  318. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_expand_card_layout.py +0 -0
  319. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_explorer.py +0 -0
  320. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_global_config.py +0 -0
  321. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_gpu_driver_settings.py +0 -0
  322. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_headless_imports.py +0 -0
  323. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_inline_ok_requirements.py +0 -0
  324. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_logger.py +0 -0
  325. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_main_window_notifications.py +0 -0
  326. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_main_window_startup_tab.py +0 -0
  327. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_main_window_system_theme.py +0 -0
  328. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_missing_frame.py +0 -0
  329. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_navigation_state.py +0 -0
  330. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_nemu_ipc_capture.py +0 -0
  331. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_notifications.py +0 -0
  332. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_ok_mutex.py +0 -0
  333. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_overlay_custom_draw.py +0 -0
  334. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_process.py +0 -0
  335. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_pyappify_startup_update.py +0 -0
  336. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_qt_events.py +0 -0
  337. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_qt_legacy_imports.py +0 -0
  338. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_runtime_startup.py +0 -0
  339. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_start_controller.py +0 -0
  340. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_task_executor_queue.py +0 -0
  341. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_task_ui.py +0 -0
  342. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_template_tab.py +0 -0
  343. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_touch_scroll.py +0 -0
  344. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_translation_fallback.py +0 -0
  345. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_ui_config.py +0 -0
  346. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_web_app.py +0 -0
  347. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_web_i18n.py +0 -0
  348. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_web_server.py +0 -0
  349. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_web_task_tabs.py +0 -0
  350. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_web_ui_pages.py +0 -0
  351. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_web_ui_tasks.py +0 -0
  352. {ok_script-2.0.0b2 → ok_script-2.0.0b3}/tests/test_windows_graphics_capture.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ok-script
3
- Version: 2.0.0b2
3
+ Version: 2.0.0b3
4
4
  Summary: Automation with Computer Vision for Python
5
5
  Author-email: ok-oldking <firedcto@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/ok-oldking/ok-script
@@ -23,13 +23,34 @@ Requires-Dist: psutil>=6.0.0
23
23
  Requires-Dist: pydirectinput==1.0.4
24
24
  Requires-Dist: pycaw==20240210
25
25
  Requires-Dist: mouse==0.7.1
26
+ Requires-Dist: pynput>=1.8.1
27
+ Provides-Extra: default
28
+ Requires-Dist: numpy>=1.26.4; extra == "default"
29
+ Requires-Dist: Pillow>=10.0; extra == "default"
30
+ Requires-Dist: ok-d3dshot>=0.1.5; extra == "default"
31
+ Requires-Dist: OpenCC==1.2.0; extra == "default"
26
32
  Provides-Extra: web
27
33
  Requires-Dist: fastapi>=0.115.0; extra == "web"
28
34
  Requires-Dist: uvicorn[standard]>=0.30.0; extra == "web"
29
35
  Requires-Dist: pywebview>=5.4; extra == "web"
30
36
  Provides-Extra: qt
37
+ Requires-Dist: PySide6-Essentials>=6.7.0; extra == "qt"
38
+ Requires-Dist: PySideSix-Frameless-Window>=0.3.12; extra == "qt"
39
+ Requires-Dist: darkdetect>=0.8.0; extra == "qt"
31
40
  Requires-Dist: PySide6-Fluent-Widgets>=1.8.3; extra == "qt"
32
- Requires-Dist: pynput>=1.8.1; extra == "qt"
41
+ Provides-Extra: adb
42
+ Requires-Dist: adbutils>=2.2.1; extra == "adb"
43
+ Provides-Extra: ocr
44
+ Requires-Dist: onnxocr-ppocrv5; extra == "ocr"
45
+ Provides-Extra: dev
46
+ Requires-Dist: pytest>=8.0; extra == "dev"
47
+ Requires-Dist: mypy>=1.10; extra == "dev"
48
+ Requires-Dist: build>=1.2; extra == "dev"
49
+ Requires-Dist: twine>=5.0; extra == "dev"
50
+ Requires-Dist: setuptools>=77; extra == "dev"
51
+ Requires-Dist: wheel; extra == "dev"
52
+ Requires-Dist: get-pypi-latest-version; extra == "dev"
53
+ Requires-Dist: mkdocs-material==9.7.7; extra == "dev"
33
54
  Dynamic: license-file
34
55
 
35
56
  # ok-script
@@ -67,17 +88,27 @@ ok-script 支持 Python 3.11 及以上版本,推荐使用 Python 3.12。
67
88
  python -m pip install ok-script
68
89
  ```
69
90
 
70
- 按使用场景安装界面依赖:
91
+ 只安装应用所需的依赖配置。`default` 为无界面模式,Web、Qt、ADB 和 OCR
92
+ 能力分别按需安装:
71
93
 
72
94
  ```powershell
95
+ python -m pip install "ok-script[default]"
73
96
  python -m pip install "ok-script[qt]"
74
97
  python -m pip install "ok-script[web]"
98
+ python -m pip install "ok-script[adb]"
99
+ python -m pip install "ok-script[ocr]"
75
100
  ```
76
101
 
77
- 开发本仓库时,使用 `pyproject.toml` 中的 `default` 依赖组安装完整开发环境:
102
+ ok-script 不会自动选择 OpenCV。用户必须根据自己的应用选择版本,并且只安装
103
+ 一个变体:`opencv-python`、`opencv-contrib-python`、`opencv-python-headless`
104
+ 或 `opencv-contrib-python-headless`。
105
+
106
+ 以无界面模式开发本仓库时,同时安装 `pyproject.toml` 中的 `default` 和 `dev`
107
+ 依赖组;再根据需要添加 `--group web`、`--group qt`、`--group adb` 或
108
+ `--group ocr`:
78
109
 
79
110
  ```powershell
80
- python -m pip install --editable . --group default
111
+ python -m pip install --editable . --group default --group dev
81
112
  ```
82
113
 
83
114
  如果要创建完整的自动化项目,建议从 [`ok-script-app`](https://github.com/ok-oldking/ok-script-app) 模板开始,而不是直接在本仓库中编写业务脚本。
@@ -33,17 +33,27 @@ ok-script 支持 Python 3.11 及以上版本,推荐使用 Python 3.12。
33
33
  python -m pip install ok-script
34
34
  ```
35
35
 
36
- 按使用场景安装界面依赖:
36
+ 只安装应用所需的依赖配置。`default` 为无界面模式,Web、Qt、ADB 和 OCR
37
+ 能力分别按需安装:
37
38
 
38
39
  ```powershell
40
+ python -m pip install "ok-script[default]"
39
41
  python -m pip install "ok-script[qt]"
40
42
  python -m pip install "ok-script[web]"
43
+ python -m pip install "ok-script[adb]"
44
+ python -m pip install "ok-script[ocr]"
41
45
  ```
42
46
 
43
- 开发本仓库时,使用 `pyproject.toml` 中的 `default` 依赖组安装完整开发环境:
47
+ ok-script 不会自动选择 OpenCV。用户必须根据自己的应用选择版本,并且只安装
48
+ 一个变体:`opencv-python`、`opencv-contrib-python`、`opencv-python-headless`
49
+ 或 `opencv-contrib-python-headless`。
50
+
51
+ 以无界面模式开发本仓库时,同时安装 `pyproject.toml` 中的 `default` 和 `dev`
52
+ 依赖组;再根据需要添加 `--group web`、`--group qt`、`--group adb` 或
53
+ `--group ocr`:
44
54
 
45
55
  ```powershell
46
- python -m pip install --editable . --group default
56
+ python -m pip install --editable . --group default --group dev
47
57
  ```
48
58
 
49
59
  如果要创建完整的自动化项目,建议从 [`ok-script-app`](https://github.com/ok-oldking/ok-script-app) 模板开始,而不是直接在本仓库中编写业务脚本。
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ok-script
3
- Version: 2.0.0b2
3
+ Version: 2.0.0b3
4
4
  Summary: Automation with Computer Vision for Python
5
5
  Author-email: ok-oldking <firedcto@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/ok-oldking/ok-script
@@ -23,13 +23,34 @@ Requires-Dist: psutil>=6.0.0
23
23
  Requires-Dist: pydirectinput==1.0.4
24
24
  Requires-Dist: pycaw==20240210
25
25
  Requires-Dist: mouse==0.7.1
26
+ Requires-Dist: pynput>=1.8.1
27
+ Provides-Extra: default
28
+ Requires-Dist: numpy>=1.26.4; extra == "default"
29
+ Requires-Dist: Pillow>=10.0; extra == "default"
30
+ Requires-Dist: ok-d3dshot>=0.1.5; extra == "default"
31
+ Requires-Dist: OpenCC==1.2.0; extra == "default"
26
32
  Provides-Extra: web
27
33
  Requires-Dist: fastapi>=0.115.0; extra == "web"
28
34
  Requires-Dist: uvicorn[standard]>=0.30.0; extra == "web"
29
35
  Requires-Dist: pywebview>=5.4; extra == "web"
30
36
  Provides-Extra: qt
37
+ Requires-Dist: PySide6-Essentials>=6.7.0; extra == "qt"
38
+ Requires-Dist: PySideSix-Frameless-Window>=0.3.12; extra == "qt"
39
+ Requires-Dist: darkdetect>=0.8.0; extra == "qt"
31
40
  Requires-Dist: PySide6-Fluent-Widgets>=1.8.3; extra == "qt"
32
- Requires-Dist: pynput>=1.8.1; extra == "qt"
41
+ Provides-Extra: adb
42
+ Requires-Dist: adbutils>=2.2.1; extra == "adb"
43
+ Provides-Extra: ocr
44
+ Requires-Dist: onnxocr-ppocrv5; extra == "ocr"
45
+ Provides-Extra: dev
46
+ Requires-Dist: pytest>=8.0; extra == "dev"
47
+ Requires-Dist: mypy>=1.10; extra == "dev"
48
+ Requires-Dist: build>=1.2; extra == "dev"
49
+ Requires-Dist: twine>=5.0; extra == "dev"
50
+ Requires-Dist: setuptools>=77; extra == "dev"
51
+ Requires-Dist: wheel; extra == "dev"
52
+ Requires-Dist: get-pypi-latest-version; extra == "dev"
53
+ Requires-Dist: mkdocs-material==9.7.7; extra == "dev"
33
54
  Dynamic: license-file
34
55
 
35
56
  # ok-script
@@ -67,17 +88,27 @@ ok-script 支持 Python 3.11 及以上版本,推荐使用 Python 3.12。
67
88
  python -m pip install ok-script
68
89
  ```
69
90
 
70
- 按使用场景安装界面依赖:
91
+ 只安装应用所需的依赖配置。`default` 为无界面模式,Web、Qt、ADB 和 OCR
92
+ 能力分别按需安装:
71
93
 
72
94
  ```powershell
95
+ python -m pip install "ok-script[default]"
73
96
  python -m pip install "ok-script[qt]"
74
97
  python -m pip install "ok-script[web]"
98
+ python -m pip install "ok-script[adb]"
99
+ python -m pip install "ok-script[ocr]"
75
100
  ```
76
101
 
77
- 开发本仓库时,使用 `pyproject.toml` 中的 `default` 依赖组安装完整开发环境:
102
+ ok-script 不会自动选择 OpenCV。用户必须根据自己的应用选择版本,并且只安装
103
+ 一个变体:`opencv-python`、`opencv-contrib-python`、`opencv-python-headless`
104
+ 或 `opencv-contrib-python-headless`。
105
+
106
+ 以无界面模式开发本仓库时,同时安装 `pyproject.toml` 中的 `default` 和 `dev`
107
+ 依赖组;再根据需要添加 `--group web`、`--group qt`、`--group adb` 或
108
+ `--group ocr`:
78
109
 
79
110
  ```powershell
80
- python -m pip install --editable . --group default
111
+ python -m pip install --editable . --group default --group dev
81
112
  ```
82
113
 
83
114
  如果要创建完整的自动化项目,建议从 [`ok-script-app`](https://github.com/ok-oldking/ok-script-app) 模板开始,而不是直接在本仓库中编写业务脚本。
@@ -0,0 +1,42 @@
1
+ pywin32>=306
2
+ pyappify>=1.0.6
3
+ typing-extensions>=4.11.0
4
+ requests>=2.32.3
5
+ psutil>=6.0.0
6
+ pydirectinput==1.0.4
7
+ pycaw==20240210
8
+ mouse==0.7.1
9
+ pynput>=1.8.1
10
+
11
+ [adb]
12
+ adbutils>=2.2.1
13
+
14
+ [default]
15
+ numpy>=1.26.4
16
+ Pillow>=10.0
17
+ ok-d3dshot>=0.1.5
18
+ OpenCC==1.2.0
19
+
20
+ [dev]
21
+ pytest>=8.0
22
+ mypy>=1.10
23
+ build>=1.2
24
+ twine>=5.0
25
+ setuptools>=77
26
+ wheel
27
+ get-pypi-latest-version
28
+ mkdocs-material==9.7.7
29
+
30
+ [ocr]
31
+ onnxocr-ppocrv5
32
+
33
+ [qt]
34
+ PySide6-Essentials>=6.7.0
35
+ PySideSix-Frameless-Window>=0.3.12
36
+ darkdetect>=0.8.0
37
+ PySide6-Fluent-Widgets>=1.8.3
38
+
39
+ [web]
40
+ fastapi>=0.115.0
41
+ uvicorn[standard]>=0.30.0
42
+ pywebview>=5.4
@@ -34,17 +34,42 @@ dependencies = [
34
34
  "pydirectinput==1.0.4",
35
35
  "pycaw==20240210",
36
36
  "mouse==0.7.1",
37
+ "pynput>=1.8.1",
37
38
  ]
38
39
 
39
40
  [project.optional-dependencies]
41
+ default = [
42
+ "numpy>=1.26.4",
43
+ "Pillow>=10.0",
44
+ "ok-d3dshot>=0.1.5",
45
+ "OpenCC==1.2.0",
46
+ ]
40
47
  web = [
41
48
  "fastapi>=0.115.0",
42
49
  "uvicorn[standard]>=0.30.0",
43
50
  "pywebview>=5.4",
44
51
  ]
45
52
  qt = [
53
+ "PySide6-Essentials>=6.7.0",
54
+ "PySideSix-Frameless-Window>=0.3.12",
55
+ "darkdetect>=0.8.0",
46
56
  "PySide6-Fluent-Widgets>=1.8.3",
47
- "pynput>=1.8.1",
57
+ ]
58
+ adb = [
59
+ "adbutils>=2.2.1",
60
+ ]
61
+ ocr = [
62
+ "onnxocr-ppocrv5",
63
+ ]
64
+ dev = [
65
+ "pytest>=8.0",
66
+ "mypy>=1.10",
67
+ "build>=1.2",
68
+ "twine>=5.0",
69
+ "setuptools>=77",
70
+ "wheel",
71
+ "get-pypi-latest-version",
72
+ "mkdocs-material==9.7.7",
48
73
  ]
49
74
 
50
75
  [project.urls]
@@ -55,6 +80,12 @@ Repository = "https://github.com/ok-oldking/ok-script"
55
80
  ok = "ok.cli:main"
56
81
 
57
82
  [dependency-groups]
83
+ default = [
84
+ "numpy>=1.26.4",
85
+ "Pillow>=10.0",
86
+ "ok-d3dshot>=0.1.5",
87
+ "OpenCC==1.2.0",
88
+ ]
58
89
  web = [
59
90
  "fastapi>=0.115.0",
60
91
  "uvicorn[standard]>=0.30.0",
@@ -65,17 +96,14 @@ qt = [
65
96
  "PySideSix-Frameless-Window>=0.3.12",
66
97
  "darkdetect>=0.8.0",
67
98
  "PySide6-Fluent-Widgets>=1.8.3",
68
- "pynput>=1.8.1",
69
99
  ]
70
- default = [
71
- { include-group = "web" },
72
- { include-group = "qt" },
73
- "numpy>=1.26.4",
74
- "opencv-python>=4.9.0.80",
75
- "Pillow>=10.0",
100
+ adb = [
76
101
  "adbutils>=2.2.1",
77
- "ok-d3dshot>=0.1.5",
78
- "OpenCC==1.2.0",
102
+ ]
103
+ ocr = [
104
+ "onnxocr-ppocrv5",
105
+ ]
106
+ dev = [
79
107
  "pytest>=8.0",
80
108
  "mypy>=1.10",
81
109
  "build>=1.2",
@@ -0,0 +1,35 @@
1
+ import tomllib
2
+ from pathlib import Path
3
+
4
+
5
+ ROOT = Path(__file__).parents[1]
6
+
7
+
8
+ def test_pyproject_profiles_are_consistent_and_headless_by_default():
9
+ metadata = tomllib.loads((ROOT / "pyproject.toml").read_text(encoding="utf-8"))
10
+ project = metadata["project"]
11
+ extras = project["optional-dependencies"]
12
+ groups = metadata["dependency-groups"]
13
+
14
+ assert set(extras) == {"default", "web", "qt", "adb", "ocr", "dev"}
15
+ assert extras == groups
16
+ assert extras["adb"] == ["adbutils>=2.2.1"]
17
+ assert extras["ocr"] == ["onnxocr-ppocrv5"]
18
+ assert not any(
19
+ requirement.startswith(("fastapi", "PySide6"))
20
+ for requirement in extras["default"]
21
+ )
22
+ assert any(requirement.startswith("pytest") for requirement in extras["dev"])
23
+ assert not any(requirement.startswith("pytest") for requirement in project["dependencies"])
24
+ assert "pynput>=1.8.1" in project["dependencies"]
25
+
26
+ managed_requirements = [
27
+ *project["dependencies"],
28
+ *(requirement for profile in extras.values() for requirement in profile),
29
+ ]
30
+ assert not any("opencv" in requirement.lower() for requirement in managed_requirements)
31
+
32
+
33
+ def test_legacy_requirements_files_are_replaced_by_pyproject_groups():
34
+ assert not (ROOT / "requirements.txt").exists()
35
+ assert not (ROOT / "requirements-docs.txt").exists()
@@ -1,17 +0,0 @@
1
- pywin32>=306
2
- pyappify>=1.0.6
3
- typing-extensions>=4.11.0
4
- requests>=2.32.3
5
- psutil>=6.0.0
6
- pydirectinput==1.0.4
7
- pycaw==20240210
8
- mouse==0.7.1
9
-
10
- [qt]
11
- PySide6-Fluent-Widgets>=1.8.3
12
- pynput>=1.8.1
13
-
14
- [web]
15
- fastapi>=0.115.0
16
- uvicorn[standard]>=0.30.0
17
- pywebview>=5.4
@@ -1,27 +0,0 @@
1
- import tomllib
2
- from pathlib import Path
3
-
4
-
5
- ROOT = Path(__file__).parents[1]
6
-
7
-
8
- def test_pyproject_keeps_runtime_and_development_dependencies_separate():
9
- metadata = tomllib.loads((ROOT / "pyproject.toml").read_text(encoding="utf-8"))
10
- project = metadata["project"]
11
- extras = project["optional-dependencies"]
12
- groups = metadata["dependency-groups"]
13
-
14
- assert set(extras) == {"web", "qt"}
15
- assert {item["include-group"] for item in groups["default"] if isinstance(item, dict)} == {
16
- "web", "qt",
17
- }
18
- assert any(
19
- isinstance(requirement, str) and requirement.startswith("pytest")
20
- for requirement in groups["default"]
21
- )
22
- assert not any(requirement.startswith("pytest") for requirement in project["dependencies"])
23
-
24
-
25
- def test_legacy_requirements_files_are_replaced_by_pyproject_groups():
26
- assert not (ROOT / "requirements.txt").exists()
27
- assert not (ROOT / "requirements-docs.txt").exists()
File without changes
File without changes
File without changes
File without changes
File without changes