pytron-kit 0.3.12__py3-none-macosx_11_0_universal2.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (419) hide show
  1. pytron/__init__.py +112 -0
  2. pytron/application.py +562 -0
  3. pytron/apputils/__init__.py +0 -0
  4. pytron/apputils/chrome_ipc.py +203 -0
  5. pytron/apputils/codegen.py +261 -0
  6. pytron/apputils/config.py +303 -0
  7. pytron/apputils/deadmansswitch.py +47 -0
  8. pytron/apputils/extras.py +76 -0
  9. pytron/apputils/native.py +148 -0
  10. pytron/apputils/shell.py +73 -0
  11. pytron/apputils/windows.py +286 -0
  12. pytron/cli.py +384 -0
  13. pytron/commands/__init__.py +0 -0
  14. pytron/commands/android.py +28 -0
  15. pytron/commands/build.py +26 -0
  16. pytron/commands/doctor.py +221 -0
  17. pytron/commands/engine.py +23 -0
  18. pytron/commands/frontend.py +60 -0
  19. pytron/commands/harvest.py +112 -0
  20. pytron/commands/helpers.py +239 -0
  21. pytron/commands/info.py +50 -0
  22. pytron/commands/init.py +521 -0
  23. pytron/commands/install.py +294 -0
  24. pytron/commands/login.py +130 -0
  25. pytron/commands/package.py +228 -0
  26. pytron/commands/plugin.py +442 -0
  27. pytron/commands/run.py +312 -0
  28. pytron/commands/scan.py +210 -0
  29. pytron/commands/show.py +23 -0
  30. pytron/commands/uninstall.py +150 -0
  31. pytron/commands/utils.py +42 -0
  32. pytron/commands/workflow.py +95 -0
  33. pytron/console.py +133 -0
  34. pytron/core.py +18 -0
  35. pytron/dependencies/WebView2Loader.dll +0 -0
  36. pytron/dependencies/__init__.py +1 -0
  37. pytron/dependencies/pytron_native.so +0 -0
  38. pytron/engines/chrome/adapter.py +445 -0
  39. pytron/engines/chrome/engine.py +576 -0
  40. pytron/engines/chrome/forge.py +147 -0
  41. pytron/engines/chrome/shell/package.json +8 -0
  42. pytron/engines/chrome/shell/preload.js +12 -0
  43. pytron/engines/chrome/shell/shell.js +534 -0
  44. pytron/exceptions.py +36 -0
  45. pytron/inspector.py +201 -0
  46. pytron/inspector_ui.py +512 -0
  47. pytron/installer/Installation.nsi +236 -0
  48. pytron/installer/header.bmp +0 -0
  49. pytron/installer/pytron.ico +0 -0
  50. pytron/installer/sidebar.bmp +0 -0
  51. pytron/llms.md +98 -0
  52. pytron/manifests/README.md +29 -0
  53. pytron/manifests/windows-utf8.manifest +44 -0
  54. pytron/menu.py +128 -0
  55. pytron/nsis-setup.exe +0 -0
  56. pytron/pack/__init__.py +0 -0
  57. pytron/pack/assets.py +131 -0
  58. pytron/pack/compilers.py +289 -0
  59. pytron/pack/crystal.py +297 -0
  60. pytron/pack/graph.py +377 -0
  61. pytron/pack/inference.py +157 -0
  62. pytron/pack/installers.py +402 -0
  63. pytron/pack/introspect.py +357 -0
  64. pytron/pack/metadata.py +213 -0
  65. pytron/pack/modules.py +618 -0
  66. pytron/pack/nuitka.py +108 -0
  67. pytron/pack/pipeline.py +107 -0
  68. pytron/pack/pyinstaller.py +176 -0
  69. pytron/pack/rust_engine.py +273 -0
  70. pytron/pack/secure.py +309 -0
  71. pytron/pack/secure_loader/bin/pytron_rust_bootloader +0 -0
  72. pytron/pack/secure_loader/icon.ico +0 -0
  73. pytron/pack/utils.py +110 -0
  74. pytron/pack/virtual_root.py +124 -0
  75. pytron/platforms/__init__.py +0 -0
  76. pytron/platforms/android/__init__.py +3 -0
  77. pytron/platforms/android/android.py +103 -0
  78. pytron/platforms/android/builder.py +736 -0
  79. pytron/platforms/android/ops/build.py +79 -0
  80. pytron/platforms/android/ops/init.py +63 -0
  81. pytron/platforms/android/ops/run.py +79 -0
  82. pytron/platforms/android/ops/sync.py +770 -0
  83. pytron/platforms/android/ops/utils.py +8 -0
  84. pytron/platforms/android/shell/README.md +30 -0
  85. pytron/platforms/android/shell/app/build.gradle +64 -0
  86. pytron/platforms/android/shell/app/src/main/AndroidManifest.xml +29 -0
  87. pytron/platforms/android/shell/app/src/main/assets/python/main.py +86 -0
  88. pytron/platforms/android/shell/app/src/main/assets/python/python314.zip +0 -0
  89. pytron/platforms/android/shell/app/src/main/cpp/CMakeLists.txt +25 -0
  90. pytron/platforms/android/shell/app/src/main/cpp/include/Python.h +155 -0
  91. pytron/platforms/android/shell/app/src/main/cpp/include/abstract.h +915 -0
  92. pytron/platforms/android/shell/app/src/main/cpp/include/audit.h +30 -0
  93. pytron/platforms/android/shell/app/src/main/cpp/include/bltinmodule.h +14 -0
  94. pytron/platforms/android/shell/app/src/main/cpp/include/boolobject.h +54 -0
  95. pytron/platforms/android/shell/app/src/main/cpp/include/bytearrayobject.h +44 -0
  96. pytron/platforms/android/shell/app/src/main/cpp/include/bytesobject.h +66 -0
  97. pytron/platforms/android/shell/app/src/main/cpp/include/ceval.h +145 -0
  98. pytron/platforms/android/shell/app/src/main/cpp/include/codecs.h +176 -0
  99. pytron/platforms/android/shell/app/src/main/cpp/include/compile.h +22 -0
  100. pytron/platforms/android/shell/app/src/main/cpp/include/complexobject.h +30 -0
  101. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/abstract.h +104 -0
  102. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/audit.h +8 -0
  103. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/bytearrayobject.h +38 -0
  104. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/bytesobject.h +42 -0
  105. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/cellobject.h +50 -0
  106. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/ceval.h +43 -0
  107. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/classobject.h +71 -0
  108. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/code.h +340 -0
  109. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/compile.h +50 -0
  110. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/complexobject.h +33 -0
  111. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/context.h +107 -0
  112. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/critical_section.h +154 -0
  113. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/descrobject.h +62 -0
  114. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/dictobject.h +105 -0
  115. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/fileobject.h +16 -0
  116. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/fileutils.h +16 -0
  117. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/floatobject.h +27 -0
  118. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/frameobject.h +35 -0
  119. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/funcobject.h +185 -0
  120. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/genobject.h +56 -0
  121. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/import.h +30 -0
  122. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/initconfig.h +334 -0
  123. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/listobject.h +53 -0
  124. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/lock.h +74 -0
  125. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/longintrepr.h +184 -0
  126. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/longobject.h +89 -0
  127. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/memoryobject.h +50 -0
  128. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/methodobject.h +66 -0
  129. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/modsupport.h +26 -0
  130. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/monitoring.h +269 -0
  131. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/object.h +493 -0
  132. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/objimpl.h +104 -0
  133. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/odictobject.h +43 -0
  134. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/picklebufobject.h +31 -0
  135. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pthread_stubs.h +105 -0
  136. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pyatomic.h +614 -0
  137. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pyatomic_gcc.h +615 -0
  138. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pyatomic_msc.h +1197 -0
  139. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pyatomic_std.h +1112 -0
  140. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pyctype.h +39 -0
  141. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pydebug.h +38 -0
  142. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pyerrors.h +132 -0
  143. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pyfpe.h +15 -0
  144. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pyframe.h +45 -0
  145. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pyhash.h +54 -0
  146. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pylifecycle.h +89 -0
  147. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pymem.h +84 -0
  148. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pystate.h +275 -0
  149. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pystats.h +194 -0
  150. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pythonrun.h +96 -0
  151. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pythread.h +43 -0
  152. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pytime.h +27 -0
  153. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/setobject.h +71 -0
  154. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/traceback.h +13 -0
  155. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/tracemalloc.h +32 -0
  156. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/tupleobject.h +40 -0
  157. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/unicodeobject.h +773 -0
  158. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/warnings.h +20 -0
  159. pytron/platforms/android/shell/app/src/main/cpp/include/cpython/weakrefobject.h +66 -0
  160. pytron/platforms/android/shell/app/src/main/cpp/include/critical_section.h +16 -0
  161. pytron/platforms/android/shell/app/src/main/cpp/include/datetime.h +267 -0
  162. pytron/platforms/android/shell/app/src/main/cpp/include/descrobject.h +100 -0
  163. pytron/platforms/android/shell/app/src/main/cpp/include/dictobject.h +108 -0
  164. pytron/platforms/android/shell/app/src/main/cpp/include/dynamic_annotations.h +499 -0
  165. pytron/platforms/android/shell/app/src/main/cpp/include/enumobject.h +17 -0
  166. pytron/platforms/android/shell/app/src/main/cpp/include/errcode.h +45 -0
  167. pytron/platforms/android/shell/app/src/main/cpp/include/exports.h +105 -0
  168. pytron/platforms/android/shell/app/src/main/cpp/include/fileobject.h +41 -0
  169. pytron/platforms/android/shell/app/src/main/cpp/include/fileutils.h +62 -0
  170. pytron/platforms/android/shell/app/src/main/cpp/include/floatobject.h +54 -0
  171. pytron/platforms/android/shell/app/src/main/cpp/include/frameobject.h +20 -0
  172. pytron/platforms/android/shell/app/src/main/cpp/include/genericaliasobject.h +14 -0
  173. pytron/platforms/android/shell/app/src/main/cpp/include/import.h +103 -0
  174. pytron/platforms/android/shell/app/src/main/cpp/include/internal/mimalloc/mimalloc/atomic.h +392 -0
  175. pytron/platforms/android/shell/app/src/main/cpp/include/internal/mimalloc/mimalloc/internal.h +969 -0
  176. pytron/platforms/android/shell/app/src/main/cpp/include/internal/mimalloc/mimalloc/prim.h +329 -0
  177. pytron/platforms/android/shell/app/src/main/cpp/include/internal/mimalloc/mimalloc/track.h +147 -0
  178. pytron/platforms/android/shell/app/src/main/cpp/include/internal/mimalloc/mimalloc/types.h +721 -0
  179. pytron/platforms/android/shell/app/src/main/cpp/include/internal/mimalloc/mimalloc.h +565 -0
  180. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_abstract.h +61 -0
  181. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_asdl.h +112 -0
  182. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_ast.h +945 -0
  183. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_ast_state.h +271 -0
  184. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_atexit.h +31 -0
  185. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_audit.h +35 -0
  186. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_backoff.h +133 -0
  187. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_bitutils.h +186 -0
  188. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_blocks_output_buffer.h +321 -0
  189. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_brc.h +73 -0
  190. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_bytes_methods.h +82 -0
  191. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_bytesobject.h +149 -0
  192. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_c_array.h +39 -0
  193. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_call.h +206 -0
  194. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_capsule.h +17 -0
  195. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_cell.h +75 -0
  196. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_ceval.h +390 -0
  197. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_ceval_state.h +48 -0
  198. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_code.h +671 -0
  199. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_codecs.h +76 -0
  200. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_compile.h +230 -0
  201. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_complexobject.h +34 -0
  202. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_condvar.h +93 -0
  203. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_context.h +59 -0
  204. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_critical_section.h +237 -0
  205. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_crossinterp.h +406 -0
  206. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_crossinterp_data_registry.h +41 -0
  207. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_debug_offsets.h +379 -0
  208. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_descrobject.h +28 -0
  209. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_dict.h +410 -0
  210. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_dict_state.h +28 -0
  211. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_dtoa.h +40 -0
  212. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_emscripten_signal.h +30 -0
  213. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_emscripten_trampoline.h +70 -0
  214. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_exceptions.h +40 -0
  215. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_faulthandler.h +100 -0
  216. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_fileutils.h +320 -0
  217. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_fileutils_windows.h +98 -0
  218. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_floatobject.h +49 -0
  219. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_flowgraph.h +47 -0
  220. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_format.h +27 -0
  221. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_frame.h +61 -0
  222. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_freelist.h +111 -0
  223. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_freelist_state.h +70 -0
  224. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_function.h +53 -0
  225. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_gc.h +378 -0
  226. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_genobject.h +43 -0
  227. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_getopt.h +22 -0
  228. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_gil.h +66 -0
  229. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_global_objects.h +34 -0
  230. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_global_objects_fini_generated.h +1592 -0
  231. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_global_strings.h +854 -0
  232. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_hamt.h +113 -0
  233. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_hashtable.h +150 -0
  234. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_import.h +141 -0
  235. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_importdl.h +139 -0
  236. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_index_pool.h +36 -0
  237. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_initconfig.h +197 -0
  238. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_instruction_sequence.h +83 -0
  239. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_instruments.h +127 -0
  240. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_interp.h +109 -0
  241. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_interp_structs.h +977 -0
  242. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_interpframe.h +401 -0
  243. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_interpframe_structs.h +95 -0
  244. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_interpolation.h +26 -0
  245. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_intrinsics.h +51 -0
  246. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_jit.h +29 -0
  247. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_list.h +81 -0
  248. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_llist.h +106 -0
  249. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_lock.h +236 -0
  250. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_long.h +319 -0
  251. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_magic_number.h +305 -0
  252. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_memoryobject.h +20 -0
  253. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_mimalloc.h +69 -0
  254. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_modsupport.h +99 -0
  255. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_moduleobject.h +62 -0
  256. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_namespace.h +21 -0
  257. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_object.h +1029 -0
  258. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_object_alloc.h +71 -0
  259. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_object_deferred.h +32 -0
  260. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_object_stack.h +95 -0
  261. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_object_state.h +49 -0
  262. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_obmalloc.h +702 -0
  263. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_obmalloc_init.h +66 -0
  264. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_opcode_metadata.h +2117 -0
  265. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_opcode_utils.h +90 -0
  266. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_optimizer.h +318 -0
  267. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_parking_lot.h +97 -0
  268. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_parser.h +78 -0
  269. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pathconfig.h +26 -0
  270. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pyarena.h +68 -0
  271. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pyatomic_ft_wrappers.h +174 -0
  272. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pybuffer.h +21 -0
  273. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pyerrors.h +213 -0
  274. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pyhash.h +91 -0
  275. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pylifecycle.h +136 -0
  276. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pymath.h +205 -0
  277. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pymem.h +145 -0
  278. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pymem_init.h +103 -0
  279. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pystate.h +339 -0
  280. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pystats.h +21 -0
  281. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pythonrun.h +68 -0
  282. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pythread.h +172 -0
  283. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_qsbr.h +172 -0
  284. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_range.h +21 -0
  285. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_runtime.h +63 -0
  286. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_runtime_init.h +239 -0
  287. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_runtime_init_generated.h +1589 -0
  288. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_runtime_structs.h +310 -0
  289. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_semaphore.h +67 -0
  290. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_setobject.h +41 -0
  291. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_signal.h +108 -0
  292. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_sliceobject.h +20 -0
  293. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_stackref.h +791 -0
  294. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_stats.h +97 -0
  295. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_strhex.h +39 -0
  296. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_structs.h +88 -0
  297. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_structseq.h +40 -0
  298. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_symtable.h +201 -0
  299. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_sysmodule.h +32 -0
  300. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_template.h +26 -0
  301. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_time.h +334 -0
  302. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_token.h +110 -0
  303. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_traceback.h +111 -0
  304. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_tracemalloc.h +164 -0
  305. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_tstate.h +88 -0
  306. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_tuple.h +75 -0
  307. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_typedefs.h +18 -0
  308. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_typeobject.h +155 -0
  309. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_typevarobject.h +28 -0
  310. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_ucnhash.h +36 -0
  311. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_unicodeobject.h +308 -0
  312. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_unicodeobject_generated.h +3132 -0
  313. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_unionobject.h +26 -0
  314. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_uniqueid.h +57 -0
  315. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_uop_ids.h +335 -0
  316. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_uop_metadata.h +1204 -0
  317. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_warnings.h +21 -0
  318. pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_weakref.h +133 -0
  319. pytron/platforms/android/shell/app/src/main/cpp/include/intrcheck.h +23 -0
  320. pytron/platforms/android/shell/app/src/main/cpp/include/iterobject.h +24 -0
  321. pytron/platforms/android/shell/app/src/main/cpp/include/listobject.h +55 -0
  322. pytron/platforms/android/shell/app/src/main/cpp/include/lock.h +16 -0
  323. pytron/platforms/android/shell/app/src/main/cpp/include/longobject.h +178 -0
  324. pytron/platforms/android/shell/app/src/main/cpp/include/marshal.h +31 -0
  325. pytron/platforms/android/shell/app/src/main/cpp/include/memoryobject.h +34 -0
  326. pytron/platforms/android/shell/app/src/main/cpp/include/methodobject.h +146 -0
  327. pytron/platforms/android/shell/app/src/main/cpp/include/modsupport.h +146 -0
  328. pytron/platforms/android/shell/app/src/main/cpp/include/moduleobject.h +122 -0
  329. pytron/platforms/android/shell/app/src/main/cpp/include/monitoring.h +18 -0
  330. pytron/platforms/android/shell/app/src/main/cpp/include/object.h +828 -0
  331. pytron/platforms/android/shell/app/src/main/cpp/include/objimpl.h +211 -0
  332. pytron/platforms/android/shell/app/src/main/cpp/include/opcode.h +43 -0
  333. pytron/platforms/android/shell/app/src/main/cpp/include/opcode_ids.h +259 -0
  334. pytron/platforms/android/shell/app/src/main/cpp/include/osdefs.h +57 -0
  335. pytron/platforms/android/shell/app/src/main/cpp/include/osmodule.h +17 -0
  336. pytron/platforms/android/shell/app/src/main/cpp/include/patchlevel.h +49 -0
  337. pytron/platforms/android/shell/app/src/main/cpp/include/py_curses.h +117 -0
  338. pytron/platforms/android/shell/app/src/main/cpp/include/pyatomic.h +16 -0
  339. pytron/platforms/android/shell/app/src/main/cpp/include/pybuffer.h +145 -0
  340. pytron/platforms/android/shell/app/src/main/cpp/include/pycapsule.h +58 -0
  341. pytron/platforms/android/shell/app/src/main/cpp/include/pyconfig.h +2088 -0
  342. pytron/platforms/android/shell/app/src/main/cpp/include/pydtrace.h +59 -0
  343. pytron/platforms/android/shell/app/src/main/cpp/include/pyerrors.h +335 -0
  344. pytron/platforms/android/shell/app/src/main/cpp/include/pyexpat.h +62 -0
  345. pytron/platforms/android/shell/app/src/main/cpp/include/pyframe.h +26 -0
  346. pytron/platforms/android/shell/app/src/main/cpp/include/pyhash.h +59 -0
  347. pytron/platforms/android/shell/app/src/main/cpp/include/pylifecycle.h +80 -0
  348. pytron/platforms/android/shell/app/src/main/cpp/include/pymacconfig.h +91 -0
  349. pytron/platforms/android/shell/app/src/main/cpp/include/pymacro.h +243 -0
  350. pytron/platforms/android/shell/app/src/main/cpp/include/pymath.h +65 -0
  351. pytron/platforms/android/shell/app/src/main/cpp/include/pymem.h +110 -0
  352. pytron/platforms/android/shell/app/src/main/cpp/include/pyport.h +710 -0
  353. pytron/platforms/android/shell/app/src/main/cpp/include/pystate.h +132 -0
  354. pytron/platforms/android/shell/app/src/main/cpp/include/pystats.h +28 -0
  355. pytron/platforms/android/shell/app/src/main/cpp/include/pystrcmp.h +23 -0
  356. pytron/platforms/android/shell/app/src/main/cpp/include/pystrtod.h +37 -0
  357. pytron/platforms/android/shell/app/src/main/cpp/include/pythonrun.h +42 -0
  358. pytron/platforms/android/shell/app/src/main/cpp/include/pythread.h +131 -0
  359. pytron/platforms/android/shell/app/src/main/cpp/include/pytypedefs.h +30 -0
  360. pytron/platforms/android/shell/app/src/main/cpp/include/rangeobject.h +27 -0
  361. pytron/platforms/android/shell/app/src/main/cpp/include/refcount.h +555 -0
  362. pytron/platforms/android/shell/app/src/main/cpp/include/setobject.h +49 -0
  363. pytron/platforms/android/shell/app/src/main/cpp/include/sliceobject.h +69 -0
  364. pytron/platforms/android/shell/app/src/main/cpp/include/structmember.h +56 -0
  365. pytron/platforms/android/shell/app/src/main/cpp/include/structseq.h +46 -0
  366. pytron/platforms/android/shell/app/src/main/cpp/include/sysmodule.h +27 -0
  367. pytron/platforms/android/shell/app/src/main/cpp/include/traceback.h +26 -0
  368. pytron/platforms/android/shell/app/src/main/cpp/include/tupleobject.h +46 -0
  369. pytron/platforms/android/shell/app/src/main/cpp/include/typeslots.h +96 -0
  370. pytron/platforms/android/shell/app/src/main/cpp/include/unicodeobject.h +1029 -0
  371. pytron/platforms/android/shell/app/src/main/cpp/include/warnings.h +45 -0
  372. pytron/platforms/android/shell/app/src/main/cpp/include/weakrefobject.h +46 -0
  373. pytron/platforms/android/shell/app/src/main/cpp/pytron_bridge.cpp +224 -0
  374. pytron/platforms/android/shell/app/src/main/java/com/pytron/shell/MainActivity.kt +208 -0
  375. pytron/platforms/android/shell/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  376. pytron/platforms/android/shell/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  377. pytron/platforms/android/shell/build.gradle +11 -0
  378. pytron/platforms/android/shell/gradle/wrapper/gradle-wrapper.jar +0 -0
  379. pytron/platforms/android/shell/gradle/wrapper/gradle-wrapper.properties +5 -0
  380. pytron/platforms/android/shell/gradle.properties +2 -0
  381. pytron/platforms/android/shell/gradlew.bat +85 -0
  382. pytron/platforms/android/shell/settings.gradle +16 -0
  383. pytron/platforms/darwin.py +82 -0
  384. pytron/platforms/darwin_ops/libs.py +31 -0
  385. pytron/platforms/darwin_ops/system.py +182 -0
  386. pytron/platforms/darwin_ops/utils.py +85 -0
  387. pytron/platforms/darwin_ops/webview.py +5 -0
  388. pytron/platforms/darwin_ops/window.py +102 -0
  389. pytron/platforms/interface.py +152 -0
  390. pytron/platforms/linux.py +82 -0
  391. pytron/platforms/linux_ops/libs.py +49 -0
  392. pytron/platforms/linux_ops/system.py +316 -0
  393. pytron/platforms/linux_ops/utils.py +19 -0
  394. pytron/platforms/linux_ops/webview.py +5 -0
  395. pytron/platforms/linux_ops/window.py +115 -0
  396. pytron/platforms/windows.py +136 -0
  397. pytron/platforms/windows_ops/__init__.py +0 -0
  398. pytron/platforms/windows_ops/constants.py +126 -0
  399. pytron/platforms/windows_ops/system.py +518 -0
  400. pytron/platforms/windows_ops/utils.py +3 -0
  401. pytron/platforms/windows_ops/webview.py +5 -0
  402. pytron/platforms/windows_ops/window.py +361 -0
  403. pytron/plugin.py +467 -0
  404. pytron/rcedit-x64.exe +0 -0
  405. pytron/router.py +146 -0
  406. pytron/serializer.py +240 -0
  407. pytron/shortcuts.py +279 -0
  408. pytron/state.py +76 -0
  409. pytron/tray.py +399 -0
  410. pytron/updater.py +181 -0
  411. pytron/utf8_hook.py +112 -0
  412. pytron/utils.py +44 -0
  413. pytron/webview.py +722 -0
  414. pytron_kit-0.3.12.dist-info/METADATA +131 -0
  415. pytron_kit-0.3.12.dist-info/RECORD +419 -0
  416. pytron_kit-0.3.12.dist-info/WHEEL +5 -0
  417. pytron_kit-0.3.12.dist-info/entry_points.txt +2 -0
  418. pytron_kit-0.3.12.dist-info/licenses/LICENSE +201 -0
  419. pytron_kit-0.3.12.dist-info/top_level.txt +1 -0
@@ -0,0 +1,74 @@
1
+ #ifndef Py_CPYTHON_LOCK_H
2
+ # error "this header file must not be included directly"
3
+ #endif
4
+
5
+ #define _Py_UNLOCKED 0
6
+ #define _Py_LOCKED 1
7
+
8
+ // A mutex that occupies one byte. The lock can be zero initialized to
9
+ // represent the unlocked state.
10
+ //
11
+ // Typical initialization:
12
+ // PyMutex m = (PyMutex){0};
13
+ //
14
+ // Or initialize as global variables:
15
+ // static PyMutex m;
16
+ //
17
+ // Typical usage:
18
+ // PyMutex_Lock(&m);
19
+ // ...
20
+ // PyMutex_Unlock(&m);
21
+ //
22
+ // The contents of the PyMutex are not part of the public API, but are
23
+ // described to aid in understanding the implementation and debugging. Only
24
+ // the two least significant bits are used. The remaining bits are always zero:
25
+ // 0b00: unlocked
26
+ // 0b01: locked
27
+ // 0b10: unlocked and has parked threads
28
+ // 0b11: locked and has parked threads
29
+ typedef struct PyMutex {
30
+ uint8_t _bits; // (private)
31
+ } PyMutex;
32
+
33
+ // exported function for locking the mutex
34
+ PyAPI_FUNC(void) PyMutex_Lock(PyMutex *m);
35
+
36
+ // exported function for unlocking the mutex
37
+ PyAPI_FUNC(void) PyMutex_Unlock(PyMutex *m);
38
+
39
+ // exported function for checking if the mutex is locked
40
+ PyAPI_FUNC(int) PyMutex_IsLocked(PyMutex *m);
41
+
42
+ // Locks the mutex.
43
+ //
44
+ // If the mutex is currently locked, the calling thread will be parked until
45
+ // the mutex is unlocked. If the current thread holds the GIL, then the GIL
46
+ // will be released while the thread is parked.
47
+ static inline void
48
+ _PyMutex_Lock(PyMutex *m)
49
+ {
50
+ uint8_t expected = _Py_UNLOCKED;
51
+ if (!_Py_atomic_compare_exchange_uint8(&m->_bits, &expected, _Py_LOCKED)) {
52
+ PyMutex_Lock(m);
53
+ }
54
+ }
55
+ #define PyMutex_Lock _PyMutex_Lock
56
+
57
+ // Unlocks the mutex.
58
+ static inline void
59
+ _PyMutex_Unlock(PyMutex *m)
60
+ {
61
+ uint8_t expected = _Py_LOCKED;
62
+ if (!_Py_atomic_compare_exchange_uint8(&m->_bits, &expected, _Py_UNLOCKED)) {
63
+ PyMutex_Unlock(m);
64
+ }
65
+ }
66
+ #define PyMutex_Unlock _PyMutex_Unlock
67
+
68
+ // Checks if the mutex is currently locked.
69
+ static inline int
70
+ _PyMutex_IsLocked(PyMutex *m)
71
+ {
72
+ return (_Py_atomic_load_uint8(&m->_bits) & _Py_LOCKED) != 0;
73
+ }
74
+ #define PyMutex_IsLocked _PyMutex_IsLocked
@@ -0,0 +1,184 @@
1
+ #ifndef Py_LIMITED_API
2
+ #ifndef Py_LONGINTREPR_H
3
+ #define Py_LONGINTREPR_H
4
+ #ifdef __cplusplus
5
+ extern "C" {
6
+ #endif
7
+
8
+
9
+ /* This is published for the benefit of "friends" marshal.c and _decimal.c. */
10
+
11
+ /* Parameters of the integer representation. There are two different
12
+ sets of parameters: one set for 30-bit digits, stored in an unsigned 32-bit
13
+ integer type, and one set for 15-bit digits with each digit stored in an
14
+ unsigned short. The value of PYLONG_BITS_IN_DIGIT, defined either at
15
+ configure time or in pyport.h, is used to decide which digit size to use.
16
+
17
+ Type 'digit' should be able to hold 2*PyLong_BASE-1, and type 'twodigits'
18
+ should be an unsigned integer type able to hold all integers up to
19
+ PyLong_BASE*PyLong_BASE-1. x_sub assumes that 'digit' is an unsigned type,
20
+ and that overflow is handled by taking the result modulo 2**N for some N >
21
+ PyLong_SHIFT. The majority of the code doesn't care about the precise
22
+ value of PyLong_SHIFT, but there are some notable exceptions:
23
+
24
+ - PyLong_{As,From}ByteArray require that PyLong_SHIFT be at least 8
25
+
26
+ - long_hash() requires that PyLong_SHIFT is *strictly* less than the number
27
+ of bits in an unsigned long, as do the PyLong <-> long (or unsigned long)
28
+ conversion functions
29
+
30
+ - the Python int <-> size_t/Py_ssize_t conversion functions expect that
31
+ PyLong_SHIFT is strictly less than the number of bits in a size_t
32
+
33
+ - the marshal code currently expects that PyLong_SHIFT is a multiple of 15
34
+
35
+ - NSMALLNEGINTS and NSMALLPOSINTS should be small enough to fit in a single
36
+ digit; with the current values this forces PyLong_SHIFT >= 9
37
+
38
+ The values 15 and 30 should fit all of the above requirements, on any
39
+ platform.
40
+ */
41
+
42
+ #if PYLONG_BITS_IN_DIGIT == 30
43
+ typedef uint32_t digit;
44
+ typedef int32_t sdigit; /* signed variant of digit */
45
+ typedef uint64_t twodigits;
46
+ typedef int64_t stwodigits; /* signed variant of twodigits */
47
+ #define PyLong_SHIFT 30
48
+ #define _PyLong_DECIMAL_SHIFT 9 /* max(e such that 10**e fits in a digit) */
49
+ #define _PyLong_DECIMAL_BASE ((digit)1000000000) /* 10 ** DECIMAL_SHIFT */
50
+ #elif PYLONG_BITS_IN_DIGIT == 15
51
+ typedef unsigned short digit;
52
+ typedef short sdigit; /* signed variant of digit */
53
+ typedef unsigned long twodigits;
54
+ typedef long stwodigits; /* signed variant of twodigits */
55
+ #define PyLong_SHIFT 15
56
+ #define _PyLong_DECIMAL_SHIFT 4 /* max(e such that 10**e fits in a digit) */
57
+ #define _PyLong_DECIMAL_BASE ((digit)10000) /* 10 ** DECIMAL_SHIFT */
58
+ #else
59
+ #error "PYLONG_BITS_IN_DIGIT should be 15 or 30"
60
+ #endif
61
+ #define PyLong_BASE ((digit)1 << PyLong_SHIFT)
62
+ #define PyLong_MASK ((digit)(PyLong_BASE - 1))
63
+
64
+ /* Long integer representation.
65
+
66
+ Long integers are made up of a number of 30- or 15-bit digits, depending on
67
+ the platform. The number of digits (ndigits) is stored in the high bits of
68
+ the lv_tag field (lvtag >> _PyLong_NON_SIZE_BITS).
69
+
70
+ The absolute value of a number is equal to
71
+ SUM(for i=0 through ndigits-1) ob_digit[i] * 2**(PyLong_SHIFT*i)
72
+
73
+ The sign of the value is stored in the lower 2 bits of lv_tag.
74
+
75
+ - 0: Positive
76
+ - 1: Zero
77
+ - 2: Negative
78
+
79
+ The third lowest bit of lv_tag is
80
+ set to 1 for the small ints.
81
+
82
+ In a normalized number, ob_digit[ndigits-1] (the most significant
83
+ digit) is never zero. Also, in all cases, for all valid i,
84
+ 0 <= ob_digit[i] <= PyLong_MASK.
85
+
86
+ The allocation function takes care of allocating extra memory
87
+ so that ob_digit[0] ... ob_digit[ndigits-1] are actually available.
88
+ We always allocate memory for at least one digit, so accessing ob_digit[0]
89
+ is always safe. However, in the case ndigits == 0, the contents of
90
+ ob_digit[0] may be undefined.
91
+ */
92
+
93
+ typedef struct _PyLongValue {
94
+ uintptr_t lv_tag; /* Number of digits, sign and flags */
95
+ digit ob_digit[1];
96
+ } _PyLongValue;
97
+
98
+ struct _longobject {
99
+ PyObject_HEAD
100
+ _PyLongValue long_value;
101
+ };
102
+
103
+ Py_DEPRECATED(3.14) PyAPI_FUNC(PyLongObject*) _PyLong_New(Py_ssize_t);
104
+
105
+ // Return a copy of src.
106
+ PyAPI_FUNC(PyObject*) _PyLong_Copy(PyLongObject *src);
107
+
108
+ Py_DEPRECATED(3.14) PyAPI_FUNC(PyLongObject*) _PyLong_FromDigits(
109
+ int negative,
110
+ Py_ssize_t digit_count,
111
+ digit *digits);
112
+
113
+
114
+ /* Inline some internals for speed. These should be in pycore_long.h
115
+ * if user code didn't need them inlined. */
116
+
117
+ #define _PyLong_SIGN_MASK 3
118
+ #define _PyLong_NON_SIZE_BITS 3
119
+
120
+
121
+ static inline int
122
+ _PyLong_IsCompact(const PyLongObject* op) {
123
+ assert(PyType_HasFeature(op->ob_base.ob_type, Py_TPFLAGS_LONG_SUBCLASS));
124
+ return op->long_value.lv_tag < (2 << _PyLong_NON_SIZE_BITS);
125
+ }
126
+
127
+ #define PyUnstable_Long_IsCompact _PyLong_IsCompact
128
+
129
+ static inline Py_ssize_t
130
+ _PyLong_CompactValue(const PyLongObject *op)
131
+ {
132
+ Py_ssize_t sign;
133
+ assert(PyType_HasFeature(op->ob_base.ob_type, Py_TPFLAGS_LONG_SUBCLASS));
134
+ assert(PyUnstable_Long_IsCompact(op));
135
+ sign = 1 - (op->long_value.lv_tag & _PyLong_SIGN_MASK);
136
+ return sign * (Py_ssize_t)op->long_value.ob_digit[0];
137
+ }
138
+
139
+ #define PyUnstable_Long_CompactValue _PyLong_CompactValue
140
+
141
+
142
+ /* --- Import/Export API -------------------------------------------------- */
143
+
144
+ typedef struct PyLongLayout {
145
+ uint8_t bits_per_digit;
146
+ uint8_t digit_size;
147
+ int8_t digits_order;
148
+ int8_t digit_endianness;
149
+ } PyLongLayout;
150
+
151
+ PyAPI_FUNC(const PyLongLayout*) PyLong_GetNativeLayout(void);
152
+
153
+ typedef struct PyLongExport {
154
+ int64_t value;
155
+ uint8_t negative;
156
+ Py_ssize_t ndigits;
157
+ const void *digits;
158
+ // Member used internally, must not be used for other purpose.
159
+ Py_uintptr_t _reserved;
160
+ } PyLongExport;
161
+
162
+ PyAPI_FUNC(int) PyLong_Export(
163
+ PyObject *obj,
164
+ PyLongExport *export_long);
165
+ PyAPI_FUNC(void) PyLong_FreeExport(
166
+ PyLongExport *export_long);
167
+
168
+
169
+ /* --- PyLongWriter API --------------------------------------------------- */
170
+
171
+ typedef struct PyLongWriter PyLongWriter;
172
+
173
+ PyAPI_FUNC(PyLongWriter*) PyLongWriter_Create(
174
+ int negative,
175
+ Py_ssize_t ndigits,
176
+ void **digits);
177
+ PyAPI_FUNC(PyObject*) PyLongWriter_Finish(PyLongWriter *writer);
178
+ PyAPI_FUNC(void) PyLongWriter_Discard(PyLongWriter *writer);
179
+
180
+ #ifdef __cplusplus
181
+ }
182
+ #endif
183
+ #endif /* !Py_LONGINTREPR_H */
184
+ #endif /* Py_LIMITED_API */
@@ -0,0 +1,89 @@
1
+ #ifndef Py_CPYTHON_LONGOBJECT_H
2
+ # error "this header file must not be included directly"
3
+ #endif
4
+
5
+ #define _PyLong_CAST(op) \
6
+ (assert(PyLong_Check(op)), _Py_CAST(PyLongObject*, (op)))
7
+
8
+ PyAPI_FUNC(PyObject*) PyLong_FromUnicodeObject(PyObject *u, int base);
9
+
10
+ PyAPI_FUNC(int) PyUnstable_Long_IsCompact(const PyLongObject* op);
11
+ PyAPI_FUNC(Py_ssize_t) PyUnstable_Long_CompactValue(const PyLongObject* op);
12
+
13
+ /* PyLong_IsPositive. Check if the integer object is positive.
14
+
15
+ - On success, return 1 if *obj is positive, and 0 otherwise.
16
+ - On failure, set an exception, and return -1. */
17
+ PyAPI_FUNC(int) PyLong_IsPositive(PyObject *obj);
18
+
19
+ /* PyLong_IsNegative. Check if the integer object is negative.
20
+
21
+ - On success, return 1 if *obj is negative, and 0 otherwise.
22
+ - On failure, set an exception, and return -1. */
23
+ PyAPI_FUNC(int) PyLong_IsNegative(PyObject *obj);
24
+
25
+ /* PyLong_IsZero. Check if the integer object is zero.
26
+
27
+ - On success, return 1 if *obj is zero, and 0 if it is non-zero.
28
+ - On failure, set an exception, and return -1. */
29
+ PyAPI_FUNC(int) PyLong_IsZero(PyObject *obj);
30
+
31
+ /* PyLong_GetSign. Get the sign of an integer object:
32
+ 0, -1 or +1 for zero, negative or positive integer, respectively.
33
+
34
+ - On success, set '*sign' to the integer sign, and return 0.
35
+ - On failure, set an exception, and return -1. */
36
+ PyAPI_FUNC(int) PyLong_GetSign(PyObject *v, int *sign);
37
+
38
+ Py_DEPRECATED(3.14) PyAPI_FUNC(int) _PyLong_Sign(PyObject *v);
39
+
40
+ /* _PyLong_NumBits. Return the number of bits needed to represent the
41
+ absolute value of a long. For example, this returns 1 for 1 and -1, 2
42
+ for 2 and -2, and 2 for 3 and -3. It returns 0 for 0.
43
+ v must not be NULL, and must be a normalized long.
44
+ Always successful.
45
+ */
46
+ PyAPI_FUNC(int64_t) _PyLong_NumBits(PyObject *v);
47
+
48
+ /* _PyLong_FromByteArray: View the n unsigned bytes as a binary integer in
49
+ base 256, and return a Python int with the same numeric value.
50
+ If n is 0, the integer is 0. Else:
51
+ If little_endian is 1/true, bytes[n-1] is the MSB and bytes[0] the LSB;
52
+ else (little_endian is 0/false) bytes[0] is the MSB and bytes[n-1] the
53
+ LSB.
54
+ If is_signed is 0/false, view the bytes as a non-negative integer.
55
+ If is_signed is 1/true, view the bytes as a 2's-complement integer,
56
+ non-negative if bit 0x80 of the MSB is clear, negative if set.
57
+ Error returns:
58
+ + Return NULL with the appropriate exception set if there's not
59
+ enough memory to create the Python int.
60
+ */
61
+ PyAPI_FUNC(PyObject *) _PyLong_FromByteArray(
62
+ const unsigned char* bytes, size_t n,
63
+ int little_endian, int is_signed);
64
+
65
+ /* _PyLong_AsByteArray: Convert the least-significant 8*n bits of long
66
+ v to a base-256 integer, stored in array bytes. Normally return 0,
67
+ return -1 on error.
68
+ If little_endian is 1/true, store the MSB at bytes[n-1] and the LSB at
69
+ bytes[0]; else (little_endian is 0/false) store the MSB at bytes[0] and
70
+ the LSB at bytes[n-1].
71
+ If is_signed is 0/false, it's an error if v < 0; else (v >= 0) n bytes
72
+ are filled and there's nothing special about bit 0x80 of the MSB.
73
+ If is_signed is 1/true, bytes is filled with the 2's-complement
74
+ representation of v's value. Bit 0x80 of the MSB is the sign bit.
75
+ Error returns (-1):
76
+ + is_signed is 0 and v < 0. TypeError is set in this case, and bytes
77
+ isn't altered.
78
+ + n isn't big enough to hold the full mathematical value of v. For
79
+ example, if is_signed is 0 and there are more digits in the v than
80
+ fit in n; or if is_signed is 1, v < 0, and n is just 1 bit shy of
81
+ being large enough to hold a sign bit. OverflowError is set in this
82
+ case, but bytes holds the least-significant n bytes of the true value.
83
+ */
84
+ PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
85
+ unsigned char* bytes, size_t n,
86
+ int little_endian, int is_signed, int with_exceptions);
87
+
88
+ /* For use by the gcd function in mathmodule.c */
89
+ PyAPI_FUNC(PyObject *) _PyLong_GCD(PyObject *, PyObject *);
@@ -0,0 +1,50 @@
1
+ #ifndef Py_CPYTHON_MEMORYOBJECT_H
2
+ # error "this header file must not be included directly"
3
+ #endif
4
+
5
+ /* The structs are declared here so that macros can work, but they shouldn't
6
+ be considered public. Don't access their fields directly, use the macros
7
+ and functions instead! */
8
+ #define _Py_MANAGED_BUFFER_RELEASED 0x001 /* access to exporter blocked */
9
+ #define _Py_MANAGED_BUFFER_FREE_FORMAT 0x002 /* free format */
10
+
11
+ typedef struct {
12
+ PyObject_HEAD
13
+ int flags; /* state flags */
14
+ Py_ssize_t exports; /* number of direct memoryview exports */
15
+ Py_buffer master; /* snapshot buffer obtained from the original exporter */
16
+ } _PyManagedBufferObject;
17
+
18
+
19
+ /* memoryview state flags */
20
+ #define _Py_MEMORYVIEW_RELEASED 0x001 /* access to master buffer blocked */
21
+ #define _Py_MEMORYVIEW_C 0x002 /* C-contiguous layout */
22
+ #define _Py_MEMORYVIEW_FORTRAN 0x004 /* Fortran contiguous layout */
23
+ #define _Py_MEMORYVIEW_SCALAR 0x008 /* scalar: ndim = 0 */
24
+ #define _Py_MEMORYVIEW_PIL 0x010 /* PIL-style layout */
25
+ #define _Py_MEMORYVIEW_RESTRICTED 0x020 /* Disallow new references to the memoryview's buffer */
26
+
27
+ typedef struct {
28
+ PyObject_VAR_HEAD
29
+ _PyManagedBufferObject *mbuf; /* managed buffer */
30
+ Py_hash_t hash; /* hash value for read-only views */
31
+ int flags; /* state flags */
32
+ Py_ssize_t exports; /* number of buffer re-exports */
33
+ Py_buffer view; /* private copy of the exporter's view */
34
+ PyObject *weakreflist;
35
+ Py_ssize_t ob_array[1]; /* shape, strides, suboffsets */
36
+ } PyMemoryViewObject;
37
+
38
+ #define _PyMemoryView_CAST(op) _Py_CAST(PyMemoryViewObject*, op)
39
+
40
+ /* Get a pointer to the memoryview's private copy of the exporter's buffer. */
41
+ static inline Py_buffer* PyMemoryView_GET_BUFFER(PyObject *op) {
42
+ return (&_PyMemoryView_CAST(op)->view);
43
+ }
44
+ #define PyMemoryView_GET_BUFFER(op) PyMemoryView_GET_BUFFER(_PyObject_CAST(op))
45
+
46
+ /* Get a pointer to the exporting object (this may be NULL!). */
47
+ static inline PyObject* PyMemoryView_GET_BASE(PyObject *op) {
48
+ return _PyMemoryView_CAST(op)->view.obj;
49
+ }
50
+ #define PyMemoryView_GET_BASE(op) PyMemoryView_GET_BASE(_PyObject_CAST(op))
@@ -0,0 +1,66 @@
1
+ #ifndef Py_CPYTHON_METHODOBJECT_H
2
+ # error "this header file must not be included directly"
3
+ #endif
4
+
5
+ // PyCFunctionObject structure
6
+
7
+ typedef struct {
8
+ PyObject_HEAD
9
+ PyMethodDef *m_ml; /* Description of the C function to call */
10
+ PyObject *m_self; /* Passed as 'self' arg to the C func, can be NULL */
11
+ PyObject *m_module; /* The __module__ attribute, can be anything */
12
+ PyObject *m_weakreflist; /* List of weak references */
13
+ vectorcallfunc vectorcall;
14
+ } PyCFunctionObject;
15
+
16
+ #define _PyCFunctionObject_CAST(func) \
17
+ (assert(PyCFunction_Check(func)), \
18
+ _Py_CAST(PyCFunctionObject*, (func)))
19
+
20
+
21
+ // PyCMethodObject structure
22
+
23
+ typedef struct {
24
+ PyCFunctionObject func;
25
+ PyTypeObject *mm_class; /* Class that defines this method */
26
+ } PyCMethodObject;
27
+
28
+ #define _PyCMethodObject_CAST(func) \
29
+ (assert(PyCMethod_Check(func)), \
30
+ _Py_CAST(PyCMethodObject*, (func)))
31
+
32
+ PyAPI_DATA(PyTypeObject) PyCMethod_Type;
33
+
34
+ #define PyCMethod_CheckExact(op) Py_IS_TYPE((op), &PyCMethod_Type)
35
+ #define PyCMethod_Check(op) PyObject_TypeCheck((op), &PyCMethod_Type)
36
+
37
+
38
+ /* Static inline functions for direct access to these values.
39
+ Type checks are *not* done, so use with care. */
40
+ static inline PyCFunction PyCFunction_GET_FUNCTION(PyObject *func) {
41
+ return _PyCFunctionObject_CAST(func)->m_ml->ml_meth;
42
+ }
43
+ #define PyCFunction_GET_FUNCTION(func) PyCFunction_GET_FUNCTION(_PyObject_CAST(func))
44
+
45
+ static inline PyObject* PyCFunction_GET_SELF(PyObject *func_obj) {
46
+ PyCFunctionObject *func = _PyCFunctionObject_CAST(func_obj);
47
+ if (func->m_ml->ml_flags & METH_STATIC) {
48
+ return _Py_NULL;
49
+ }
50
+ return func->m_self;
51
+ }
52
+ #define PyCFunction_GET_SELF(func) PyCFunction_GET_SELF(_PyObject_CAST(func))
53
+
54
+ static inline int PyCFunction_GET_FLAGS(PyObject *func) {
55
+ return _PyCFunctionObject_CAST(func)->m_ml->ml_flags;
56
+ }
57
+ #define PyCFunction_GET_FLAGS(func) PyCFunction_GET_FLAGS(_PyObject_CAST(func))
58
+
59
+ static inline PyTypeObject* PyCFunction_GET_CLASS(PyObject *func_obj) {
60
+ PyCFunctionObject *func = _PyCFunctionObject_CAST(func_obj);
61
+ if (func->m_ml->ml_flags & METH_METHOD) {
62
+ return _PyCMethodObject_CAST(func)->mm_class;
63
+ }
64
+ return _Py_NULL;
65
+ }
66
+ #define PyCFunction_GET_CLASS(func) PyCFunction_GET_CLASS(_PyObject_CAST(func))
@@ -0,0 +1,26 @@
1
+ #ifndef Py_CPYTHON_MODSUPPORT_H
2
+ # error "this header file must not be included directly"
3
+ #endif
4
+
5
+ // A data structure that can be used to run initialization code once in a
6
+ // thread-safe manner. The C++11 equivalent is std::call_once.
7
+ typedef struct {
8
+ uint8_t v;
9
+ } _PyOnceFlag;
10
+
11
+ typedef struct _PyArg_Parser {
12
+ const char *format;
13
+ const char * const *keywords;
14
+ const char *fname;
15
+ const char *custom_msg;
16
+ _PyOnceFlag once; /* atomic one-time initialization flag */
17
+ int is_kwtuple_owned; /* does this parser own the kwtuple object? */
18
+ int pos; /* number of positional-only arguments */
19
+ int min; /* minimal number of arguments */
20
+ int max; /* maximal number of positional arguments */
21
+ PyObject *kwtuple; /* tuple of keyword parameter names */
22
+ struct _PyArg_Parser *next;
23
+ } _PyArg_Parser;
24
+
25
+ PyAPI_FUNC(int) _PyArg_ParseTupleAndKeywordsFast(PyObject *, PyObject *,
26
+ struct _PyArg_Parser *, ...);