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,615 @@
1
+ // This is the implementation of Python atomic operations using GCC's built-in
2
+ // functions that match the C+11 memory model. This implementation is preferred
3
+ // for GCC compatible compilers, such as Clang. These functions are available
4
+ // in GCC 4.8+ without needing to compile with --std=c11 or --std=gnu11.
5
+
6
+ #ifndef Py_ATOMIC_GCC_H
7
+ # error "this header file must not be included directly"
8
+ #endif
9
+
10
+
11
+ // --- _Py_atomic_add --------------------------------------------------------
12
+
13
+ static inline int
14
+ _Py_atomic_add_int(int *obj, int value)
15
+ { return __atomic_fetch_add(obj, value, __ATOMIC_SEQ_CST); }
16
+
17
+ static inline int8_t
18
+ _Py_atomic_add_int8(int8_t *obj, int8_t value)
19
+ { return __atomic_fetch_add(obj, value, __ATOMIC_SEQ_CST); }
20
+
21
+ static inline int16_t
22
+ _Py_atomic_add_int16(int16_t *obj, int16_t value)
23
+ { return __atomic_fetch_add(obj, value, __ATOMIC_SEQ_CST); }
24
+
25
+ static inline int32_t
26
+ _Py_atomic_add_int32(int32_t *obj, int32_t value)
27
+ { return __atomic_fetch_add(obj, value, __ATOMIC_SEQ_CST); }
28
+
29
+ static inline int64_t
30
+ _Py_atomic_add_int64(int64_t *obj, int64_t value)
31
+ { return __atomic_fetch_add(obj, value, __ATOMIC_SEQ_CST); }
32
+
33
+ static inline intptr_t
34
+ _Py_atomic_add_intptr(intptr_t *obj, intptr_t value)
35
+ { return __atomic_fetch_add(obj, value, __ATOMIC_SEQ_CST); }
36
+
37
+ static inline unsigned int
38
+ _Py_atomic_add_uint(unsigned int *obj, unsigned int value)
39
+ { return __atomic_fetch_add(obj, value, __ATOMIC_SEQ_CST); }
40
+
41
+ static inline uint8_t
42
+ _Py_atomic_add_uint8(uint8_t *obj, uint8_t value)
43
+ { return __atomic_fetch_add(obj, value, __ATOMIC_SEQ_CST); }
44
+
45
+ static inline uint16_t
46
+ _Py_atomic_add_uint16(uint16_t *obj, uint16_t value)
47
+ { return __atomic_fetch_add(obj, value, __ATOMIC_SEQ_CST); }
48
+
49
+ static inline uint32_t
50
+ _Py_atomic_add_uint32(uint32_t *obj, uint32_t value)
51
+ { return __atomic_fetch_add(obj, value, __ATOMIC_SEQ_CST); }
52
+
53
+ static inline uint64_t
54
+ _Py_atomic_add_uint64(uint64_t *obj, uint64_t value)
55
+ { return __atomic_fetch_add(obj, value, __ATOMIC_SEQ_CST); }
56
+
57
+ static inline uintptr_t
58
+ _Py_atomic_add_uintptr(uintptr_t *obj, uintptr_t value)
59
+ { return __atomic_fetch_add(obj, value, __ATOMIC_SEQ_CST); }
60
+
61
+ static inline Py_ssize_t
62
+ _Py_atomic_add_ssize(Py_ssize_t *obj, Py_ssize_t value)
63
+ { return __atomic_fetch_add(obj, value, __ATOMIC_SEQ_CST); }
64
+
65
+
66
+ // --- _Py_atomic_compare_exchange -------------------------------------------
67
+
68
+ static inline int
69
+ _Py_atomic_compare_exchange_int(int *obj, int *expected, int desired)
70
+ { return __atomic_compare_exchange_n(obj, expected, desired, 0,
71
+ __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
72
+
73
+ static inline int
74
+ _Py_atomic_compare_exchange_int8(int8_t *obj, int8_t *expected, int8_t desired)
75
+ { return __atomic_compare_exchange_n(obj, expected, desired, 0,
76
+ __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
77
+
78
+ static inline int
79
+ _Py_atomic_compare_exchange_int16(int16_t *obj, int16_t *expected, int16_t desired)
80
+ { return __atomic_compare_exchange_n(obj, expected, desired, 0,
81
+ __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
82
+
83
+ static inline int
84
+ _Py_atomic_compare_exchange_int32(int32_t *obj, int32_t *expected, int32_t desired)
85
+ { return __atomic_compare_exchange_n(obj, expected, desired, 0,
86
+ __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
87
+
88
+ static inline int
89
+ _Py_atomic_compare_exchange_int64(int64_t *obj, int64_t *expected, int64_t desired)
90
+ { return __atomic_compare_exchange_n(obj, expected, desired, 0,
91
+ __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
92
+
93
+ static inline int
94
+ _Py_atomic_compare_exchange_intptr(intptr_t *obj, intptr_t *expected, intptr_t desired)
95
+ { return __atomic_compare_exchange_n(obj, expected, desired, 0,
96
+ __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
97
+
98
+ static inline int
99
+ _Py_atomic_compare_exchange_uint(unsigned int *obj, unsigned int *expected, unsigned int desired)
100
+ { return __atomic_compare_exchange_n(obj, expected, desired, 0,
101
+ __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
102
+
103
+ static inline int
104
+ _Py_atomic_compare_exchange_uint8(uint8_t *obj, uint8_t *expected, uint8_t desired)
105
+ { return __atomic_compare_exchange_n(obj, expected, desired, 0,
106
+ __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
107
+
108
+ static inline int
109
+ _Py_atomic_compare_exchange_uint16(uint16_t *obj, uint16_t *expected, uint16_t desired)
110
+ { return __atomic_compare_exchange_n(obj, expected, desired, 0,
111
+ __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
112
+
113
+ static inline int
114
+ _Py_atomic_compare_exchange_uint32(uint32_t *obj, uint32_t *expected, uint32_t desired)
115
+ { return __atomic_compare_exchange_n(obj, expected, desired, 0,
116
+ __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
117
+
118
+ static inline int
119
+ _Py_atomic_compare_exchange_uint64(uint64_t *obj, uint64_t *expected, uint64_t desired)
120
+ { return __atomic_compare_exchange_n(obj, expected, desired, 0,
121
+ __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
122
+
123
+ static inline int
124
+ _Py_atomic_compare_exchange_uintptr(uintptr_t *obj, uintptr_t *expected, uintptr_t desired)
125
+ { return __atomic_compare_exchange_n(obj, expected, desired, 0,
126
+ __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
127
+
128
+ static inline int
129
+ _Py_atomic_compare_exchange_ssize(Py_ssize_t *obj, Py_ssize_t *expected, Py_ssize_t desired)
130
+ { return __atomic_compare_exchange_n(obj, expected, desired, 0,
131
+ __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
132
+
133
+ static inline int
134
+ _Py_atomic_compare_exchange_ptr(void *obj, void *expected, void *desired)
135
+ { return __atomic_compare_exchange_n((void **)obj, (void **)expected, desired, 0,
136
+ __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
137
+
138
+
139
+ // --- _Py_atomic_exchange ---------------------------------------------------
140
+
141
+ static inline int
142
+ _Py_atomic_exchange_int(int *obj, int value)
143
+ { return __atomic_exchange_n(obj, value, __ATOMIC_SEQ_CST); }
144
+
145
+ static inline int8_t
146
+ _Py_atomic_exchange_int8(int8_t *obj, int8_t value)
147
+ { return __atomic_exchange_n(obj, value, __ATOMIC_SEQ_CST); }
148
+
149
+ static inline int16_t
150
+ _Py_atomic_exchange_int16(int16_t *obj, int16_t value)
151
+ { return __atomic_exchange_n(obj, value, __ATOMIC_SEQ_CST); }
152
+
153
+ static inline int32_t
154
+ _Py_atomic_exchange_int32(int32_t *obj, int32_t value)
155
+ { return __atomic_exchange_n(obj, value, __ATOMIC_SEQ_CST); }
156
+
157
+ static inline int64_t
158
+ _Py_atomic_exchange_int64(int64_t *obj, int64_t value)
159
+ { return __atomic_exchange_n(obj, value, __ATOMIC_SEQ_CST); }
160
+
161
+ static inline intptr_t
162
+ _Py_atomic_exchange_intptr(intptr_t *obj, intptr_t value)
163
+ { return __atomic_exchange_n(obj, value, __ATOMIC_SEQ_CST); }
164
+
165
+ static inline unsigned int
166
+ _Py_atomic_exchange_uint(unsigned int *obj, unsigned int value)
167
+ { return __atomic_exchange_n(obj, value, __ATOMIC_SEQ_CST); }
168
+
169
+ static inline uint8_t
170
+ _Py_atomic_exchange_uint8(uint8_t *obj, uint8_t value)
171
+ { return __atomic_exchange_n(obj, value, __ATOMIC_SEQ_CST); }
172
+
173
+ static inline uint16_t
174
+ _Py_atomic_exchange_uint16(uint16_t *obj, uint16_t value)
175
+ { return __atomic_exchange_n(obj, value, __ATOMIC_SEQ_CST); }
176
+
177
+ static inline uint32_t
178
+ _Py_atomic_exchange_uint32(uint32_t *obj, uint32_t value)
179
+ { return __atomic_exchange_n(obj, value, __ATOMIC_SEQ_CST); }
180
+
181
+ static inline uint64_t
182
+ _Py_atomic_exchange_uint64(uint64_t *obj, uint64_t value)
183
+ { return __atomic_exchange_n(obj, value, __ATOMIC_SEQ_CST); }
184
+
185
+ static inline uintptr_t
186
+ _Py_atomic_exchange_uintptr(uintptr_t *obj, uintptr_t value)
187
+ { return __atomic_exchange_n(obj, value, __ATOMIC_SEQ_CST); }
188
+
189
+ static inline Py_ssize_t
190
+ _Py_atomic_exchange_ssize(Py_ssize_t *obj, Py_ssize_t value)
191
+ { return __atomic_exchange_n(obj, value, __ATOMIC_SEQ_CST); }
192
+
193
+ static inline void *
194
+ _Py_atomic_exchange_ptr(void *obj, void *value)
195
+ { return __atomic_exchange_n((void **)obj, value, __ATOMIC_SEQ_CST); }
196
+
197
+
198
+ // --- _Py_atomic_and --------------------------------------------------------
199
+
200
+ static inline uint8_t
201
+ _Py_atomic_and_uint8(uint8_t *obj, uint8_t value)
202
+ { return __atomic_fetch_and(obj, value, __ATOMIC_SEQ_CST); }
203
+
204
+ static inline uint16_t
205
+ _Py_atomic_and_uint16(uint16_t *obj, uint16_t value)
206
+ { return __atomic_fetch_and(obj, value, __ATOMIC_SEQ_CST); }
207
+
208
+ static inline uint32_t
209
+ _Py_atomic_and_uint32(uint32_t *obj, uint32_t value)
210
+ { return __atomic_fetch_and(obj, value, __ATOMIC_SEQ_CST); }
211
+
212
+ static inline uint64_t
213
+ _Py_atomic_and_uint64(uint64_t *obj, uint64_t value)
214
+ { return __atomic_fetch_and(obj, value, __ATOMIC_SEQ_CST); }
215
+
216
+ static inline uintptr_t
217
+ _Py_atomic_and_uintptr(uintptr_t *obj, uintptr_t value)
218
+ { return __atomic_fetch_and(obj, value, __ATOMIC_SEQ_CST); }
219
+
220
+
221
+ // --- _Py_atomic_or ---------------------------------------------------------
222
+
223
+ static inline uint8_t
224
+ _Py_atomic_or_uint8(uint8_t *obj, uint8_t value)
225
+ { return __atomic_fetch_or(obj, value, __ATOMIC_SEQ_CST); }
226
+
227
+ static inline uint16_t
228
+ _Py_atomic_or_uint16(uint16_t *obj, uint16_t value)
229
+ { return __atomic_fetch_or(obj, value, __ATOMIC_SEQ_CST); }
230
+
231
+ static inline uint32_t
232
+ _Py_atomic_or_uint32(uint32_t *obj, uint32_t value)
233
+ { return __atomic_fetch_or(obj, value, __ATOMIC_SEQ_CST); }
234
+
235
+ static inline uint64_t
236
+ _Py_atomic_or_uint64(uint64_t *obj, uint64_t value)
237
+ { return __atomic_fetch_or(obj, value, __ATOMIC_SEQ_CST); }
238
+
239
+ static inline uintptr_t
240
+ _Py_atomic_or_uintptr(uintptr_t *obj, uintptr_t value)
241
+ { return __atomic_fetch_or(obj, value, __ATOMIC_SEQ_CST); }
242
+
243
+
244
+ // --- _Py_atomic_load -------------------------------------------------------
245
+
246
+ static inline int
247
+ _Py_atomic_load_int(const int *obj)
248
+ { return __atomic_load_n(obj, __ATOMIC_SEQ_CST); }
249
+
250
+ static inline int8_t
251
+ _Py_atomic_load_int8(const int8_t *obj)
252
+ { return __atomic_load_n(obj, __ATOMIC_SEQ_CST); }
253
+
254
+ static inline int16_t
255
+ _Py_atomic_load_int16(const int16_t *obj)
256
+ { return __atomic_load_n(obj, __ATOMIC_SEQ_CST); }
257
+
258
+ static inline int32_t
259
+ _Py_atomic_load_int32(const int32_t *obj)
260
+ { return __atomic_load_n(obj, __ATOMIC_SEQ_CST); }
261
+
262
+ static inline int64_t
263
+ _Py_atomic_load_int64(const int64_t *obj)
264
+ { return __atomic_load_n(obj, __ATOMIC_SEQ_CST); }
265
+
266
+ static inline intptr_t
267
+ _Py_atomic_load_intptr(const intptr_t *obj)
268
+ { return __atomic_load_n(obj, __ATOMIC_SEQ_CST); }
269
+
270
+ static inline uint8_t
271
+ _Py_atomic_load_uint8(const uint8_t *obj)
272
+ { return __atomic_load_n(obj, __ATOMIC_SEQ_CST); }
273
+
274
+ static inline uint16_t
275
+ _Py_atomic_load_uint16(const uint16_t *obj)
276
+ { return __atomic_load_n(obj, __ATOMIC_SEQ_CST); }
277
+
278
+ static inline uint32_t
279
+ _Py_atomic_load_uint32(const uint32_t *obj)
280
+ { return __atomic_load_n(obj, __ATOMIC_SEQ_CST); }
281
+
282
+ static inline uint64_t
283
+ _Py_atomic_load_uint64(const uint64_t *obj)
284
+ { return __atomic_load_n(obj, __ATOMIC_SEQ_CST); }
285
+
286
+ static inline uintptr_t
287
+ _Py_atomic_load_uintptr(const uintptr_t *obj)
288
+ { return __atomic_load_n(obj, __ATOMIC_SEQ_CST); }
289
+
290
+ static inline unsigned int
291
+ _Py_atomic_load_uint(const unsigned int *obj)
292
+ { return __atomic_load_n(obj, __ATOMIC_SEQ_CST); }
293
+
294
+ static inline Py_ssize_t
295
+ _Py_atomic_load_ssize(const Py_ssize_t *obj)
296
+ { return __atomic_load_n(obj, __ATOMIC_SEQ_CST); }
297
+
298
+ static inline void *
299
+ _Py_atomic_load_ptr(const void *obj)
300
+ { return (void *)__atomic_load_n((void * const *)obj, __ATOMIC_SEQ_CST); }
301
+
302
+
303
+ // --- _Py_atomic_load_relaxed -----------------------------------------------
304
+
305
+ static inline int
306
+ _Py_atomic_load_int_relaxed(const int *obj)
307
+ { return __atomic_load_n(obj, __ATOMIC_RELAXED); }
308
+
309
+ static inline char
310
+ _Py_atomic_load_char_relaxed(const char *obj)
311
+ { return __atomic_load_n(obj, __ATOMIC_RELAXED); }
312
+
313
+ static inline unsigned char
314
+ _Py_atomic_load_uchar_relaxed(const unsigned char *obj)
315
+ { return __atomic_load_n(obj, __ATOMIC_RELAXED); }
316
+
317
+ static inline short
318
+ _Py_atomic_load_short_relaxed(const short *obj)
319
+ { return __atomic_load_n(obj, __ATOMIC_RELAXED); }
320
+
321
+ static inline unsigned short
322
+ _Py_atomic_load_ushort_relaxed(const unsigned short *obj)
323
+ { return __atomic_load_n(obj, __ATOMIC_RELAXED); }
324
+
325
+ static inline long
326
+ _Py_atomic_load_long_relaxed(const long *obj)
327
+ { return __atomic_load_n(obj, __ATOMIC_RELAXED); }
328
+
329
+ static inline float
330
+ _Py_atomic_load_float_relaxed(const float *obj)
331
+ { float ret; __atomic_load(obj, &ret, __ATOMIC_RELAXED); return ret; }
332
+
333
+ static inline double
334
+ _Py_atomic_load_double_relaxed(const double *obj)
335
+ { double ret; __atomic_load(obj, &ret, __ATOMIC_RELAXED); return ret; }
336
+
337
+ static inline int8_t
338
+ _Py_atomic_load_int8_relaxed(const int8_t *obj)
339
+ { return __atomic_load_n(obj, __ATOMIC_RELAXED); }
340
+
341
+ static inline int16_t
342
+ _Py_atomic_load_int16_relaxed(const int16_t *obj)
343
+ { return __atomic_load_n(obj, __ATOMIC_RELAXED); }
344
+
345
+ static inline int32_t
346
+ _Py_atomic_load_int32_relaxed(const int32_t *obj)
347
+ { return __atomic_load_n(obj, __ATOMIC_RELAXED); }
348
+
349
+ static inline int64_t
350
+ _Py_atomic_load_int64_relaxed(const int64_t *obj)
351
+ { return __atomic_load_n(obj, __ATOMIC_RELAXED); }
352
+
353
+ static inline intptr_t
354
+ _Py_atomic_load_intptr_relaxed(const intptr_t *obj)
355
+ { return __atomic_load_n(obj, __ATOMIC_RELAXED); }
356
+
357
+ static inline uint8_t
358
+ _Py_atomic_load_uint8_relaxed(const uint8_t *obj)
359
+ { return __atomic_load_n(obj, __ATOMIC_RELAXED); }
360
+
361
+ static inline uint16_t
362
+ _Py_atomic_load_uint16_relaxed(const uint16_t *obj)
363
+ { return __atomic_load_n(obj, __ATOMIC_RELAXED); }
364
+
365
+ static inline uint32_t
366
+ _Py_atomic_load_uint32_relaxed(const uint32_t *obj)
367
+ { return __atomic_load_n(obj, __ATOMIC_RELAXED); }
368
+
369
+ static inline uint64_t
370
+ _Py_atomic_load_uint64_relaxed(const uint64_t *obj)
371
+ { return __atomic_load_n(obj, __ATOMIC_RELAXED); }
372
+
373
+ static inline uintptr_t
374
+ _Py_atomic_load_uintptr_relaxed(const uintptr_t *obj)
375
+ { return __atomic_load_n(obj, __ATOMIC_RELAXED); }
376
+
377
+ static inline unsigned int
378
+ _Py_atomic_load_uint_relaxed(const unsigned int *obj)
379
+ { return __atomic_load_n(obj, __ATOMIC_RELAXED); }
380
+
381
+ static inline Py_ssize_t
382
+ _Py_atomic_load_ssize_relaxed(const Py_ssize_t *obj)
383
+ { return __atomic_load_n(obj, __ATOMIC_RELAXED); }
384
+
385
+ static inline void *
386
+ _Py_atomic_load_ptr_relaxed(const void *obj)
387
+ { return (void *)__atomic_load_n((void * const *)obj, __ATOMIC_RELAXED); }
388
+
389
+ static inline unsigned long long
390
+ _Py_atomic_load_ullong_relaxed(const unsigned long long *obj)
391
+ { return __atomic_load_n(obj, __ATOMIC_RELAXED); }
392
+
393
+ static inline long long
394
+ _Py_atomic_load_llong_relaxed(const long long *obj)
395
+ { return __atomic_load_n(obj, __ATOMIC_RELAXED); }
396
+
397
+
398
+ // --- _Py_atomic_store ------------------------------------------------------
399
+
400
+ static inline void
401
+ _Py_atomic_store_int(int *obj, int value)
402
+ { __atomic_store_n(obj, value, __ATOMIC_SEQ_CST); }
403
+
404
+ static inline void
405
+ _Py_atomic_store_int8(int8_t *obj, int8_t value)
406
+ { __atomic_store_n(obj, value, __ATOMIC_SEQ_CST); }
407
+
408
+ static inline void
409
+ _Py_atomic_store_int16(int16_t *obj, int16_t value)
410
+ { __atomic_store_n(obj, value, __ATOMIC_SEQ_CST); }
411
+
412
+ static inline void
413
+ _Py_atomic_store_int32(int32_t *obj, int32_t value)
414
+ { __atomic_store_n(obj, value, __ATOMIC_SEQ_CST); }
415
+
416
+ static inline void
417
+ _Py_atomic_store_int64(int64_t *obj, int64_t value)
418
+ { __atomic_store_n(obj, value, __ATOMIC_SEQ_CST); }
419
+
420
+ static inline void
421
+ _Py_atomic_store_intptr(intptr_t *obj, intptr_t value)
422
+ { __atomic_store_n(obj, value, __ATOMIC_SEQ_CST); }
423
+
424
+ static inline void
425
+ _Py_atomic_store_uint8(uint8_t *obj, uint8_t value)
426
+ { __atomic_store_n(obj, value, __ATOMIC_SEQ_CST); }
427
+
428
+ static inline void
429
+ _Py_atomic_store_uint16(uint16_t *obj, uint16_t value)
430
+ { __atomic_store_n(obj, value, __ATOMIC_SEQ_CST); }
431
+
432
+ static inline void
433
+ _Py_atomic_store_uint32(uint32_t *obj, uint32_t value)
434
+ { __atomic_store_n(obj, value, __ATOMIC_SEQ_CST); }
435
+
436
+ static inline void
437
+ _Py_atomic_store_uint64(uint64_t *obj, uint64_t value)
438
+ { __atomic_store_n(obj, value, __ATOMIC_SEQ_CST); }
439
+
440
+ static inline void
441
+ _Py_atomic_store_uintptr(uintptr_t *obj, uintptr_t value)
442
+ { __atomic_store_n(obj, value, __ATOMIC_SEQ_CST); }
443
+
444
+ static inline void
445
+ _Py_atomic_store_uint(unsigned int *obj, unsigned int value)
446
+ { __atomic_store_n(obj, value, __ATOMIC_SEQ_CST); }
447
+
448
+ static inline void
449
+ _Py_atomic_store_ptr(void *obj, void *value)
450
+ { __atomic_store_n((void **)obj, value, __ATOMIC_SEQ_CST); }
451
+
452
+ static inline void
453
+ _Py_atomic_store_ssize(Py_ssize_t *obj, Py_ssize_t value)
454
+ { __atomic_store_n(obj, value, __ATOMIC_SEQ_CST); }
455
+
456
+
457
+ // --- _Py_atomic_store_relaxed ----------------------------------------------
458
+
459
+ static inline void
460
+ _Py_atomic_store_int_relaxed(int *obj, int value)
461
+ { __atomic_store_n(obj, value, __ATOMIC_RELAXED); }
462
+
463
+ static inline void
464
+ _Py_atomic_store_int8_relaxed(int8_t *obj, int8_t value)
465
+ { __atomic_store_n(obj, value, __ATOMIC_RELAXED); }
466
+
467
+ static inline void
468
+ _Py_atomic_store_int16_relaxed(int16_t *obj, int16_t value)
469
+ { __atomic_store_n(obj, value, __ATOMIC_RELAXED); }
470
+
471
+ static inline void
472
+ _Py_atomic_store_int32_relaxed(int32_t *obj, int32_t value)
473
+ { __atomic_store_n(obj, value, __ATOMIC_RELAXED); }
474
+
475
+ static inline void
476
+ _Py_atomic_store_int64_relaxed(int64_t *obj, int64_t value)
477
+ { __atomic_store_n(obj, value, __ATOMIC_RELAXED); }
478
+
479
+ static inline void
480
+ _Py_atomic_store_intptr_relaxed(intptr_t *obj, intptr_t value)
481
+ { __atomic_store_n(obj, value, __ATOMIC_RELAXED); }
482
+
483
+ static inline void
484
+ _Py_atomic_store_uint8_relaxed(uint8_t *obj, uint8_t value)
485
+ { __atomic_store_n(obj, value, __ATOMIC_RELAXED); }
486
+
487
+ static inline void
488
+ _Py_atomic_store_uint16_relaxed(uint16_t *obj, uint16_t value)
489
+ { __atomic_store_n(obj, value, __ATOMIC_RELAXED); }
490
+
491
+ static inline void
492
+ _Py_atomic_store_uint32_relaxed(uint32_t *obj, uint32_t value)
493
+ { __atomic_store_n(obj, value, __ATOMIC_RELAXED); }
494
+
495
+ static inline void
496
+ _Py_atomic_store_uint64_relaxed(uint64_t *obj, uint64_t value)
497
+ { __atomic_store_n(obj, value, __ATOMIC_RELAXED); }
498
+
499
+ static inline void
500
+ _Py_atomic_store_uintptr_relaxed(uintptr_t *obj, uintptr_t value)
501
+ { __atomic_store_n(obj, value, __ATOMIC_RELAXED); }
502
+
503
+ static inline void
504
+ _Py_atomic_store_uint_relaxed(unsigned int *obj, unsigned int value)
505
+ { __atomic_store_n(obj, value, __ATOMIC_RELAXED); }
506
+
507
+ static inline void
508
+ _Py_atomic_store_ptr_relaxed(void *obj, void *value)
509
+ { __atomic_store_n((void **)obj, value, __ATOMIC_RELAXED); }
510
+
511
+ static inline void
512
+ _Py_atomic_store_ssize_relaxed(Py_ssize_t *obj, Py_ssize_t value)
513
+ { __atomic_store_n(obj, value, __ATOMIC_RELAXED); }
514
+
515
+ static inline void
516
+ _Py_atomic_store_ullong_relaxed(unsigned long long *obj,
517
+ unsigned long long value)
518
+ { __atomic_store_n(obj, value, __ATOMIC_RELAXED); }
519
+
520
+ static inline void
521
+ _Py_atomic_store_char_relaxed(char *obj, char value)
522
+ { __atomic_store_n(obj, value, __ATOMIC_RELAXED); }
523
+
524
+ static inline void
525
+ _Py_atomic_store_uchar_relaxed(unsigned char *obj, unsigned char value)
526
+ { __atomic_store_n(obj, value, __ATOMIC_RELAXED); }
527
+
528
+ static inline void
529
+ _Py_atomic_store_short_relaxed(short *obj, short value)
530
+ { __atomic_store_n(obj, value, __ATOMIC_RELAXED); }
531
+
532
+ static inline void
533
+ _Py_atomic_store_ushort_relaxed(unsigned short *obj, unsigned short value)
534
+ { __atomic_store_n(obj, value, __ATOMIC_RELAXED); }
535
+
536
+ static inline void
537
+ _Py_atomic_store_long_relaxed(long *obj, long value)
538
+ { __atomic_store_n(obj, value, __ATOMIC_RELAXED); }
539
+
540
+ static inline void
541
+ _Py_atomic_store_float_relaxed(float *obj, float value)
542
+ { __atomic_store(obj, &value, __ATOMIC_RELAXED); }
543
+
544
+ static inline void
545
+ _Py_atomic_store_double_relaxed(double *obj, double value)
546
+ { __atomic_store(obj, &value, __ATOMIC_RELAXED); }
547
+
548
+ static inline void
549
+ _Py_atomic_store_llong_relaxed(long long *obj, long long value)
550
+ { __atomic_store_n(obj, value, __ATOMIC_RELAXED); }
551
+
552
+
553
+ // --- _Py_atomic_load_ptr_acquire / _Py_atomic_store_ptr_release ------------
554
+
555
+ static inline void *
556
+ _Py_atomic_load_ptr_acquire(const void *obj)
557
+ { return (void *)__atomic_load_n((void * const *)obj, __ATOMIC_ACQUIRE); }
558
+
559
+ static inline uintptr_t
560
+ _Py_atomic_load_uintptr_acquire(const uintptr_t *obj)
561
+ { return (uintptr_t)__atomic_load_n(obj, __ATOMIC_ACQUIRE); }
562
+
563
+ static inline void
564
+ _Py_atomic_store_ptr_release(void *obj, void *value)
565
+ { __atomic_store_n((void **)obj, value, __ATOMIC_RELEASE); }
566
+
567
+ static inline void
568
+ _Py_atomic_store_uintptr_release(uintptr_t *obj, uintptr_t value)
569
+ { __atomic_store_n(obj, value, __ATOMIC_RELEASE); }
570
+
571
+ static inline void
572
+ _Py_atomic_store_int_release(int *obj, int value)
573
+ { __atomic_store_n(obj, value, __ATOMIC_RELEASE); }
574
+
575
+ static inline void
576
+ _Py_atomic_store_ssize_release(Py_ssize_t *obj, Py_ssize_t value)
577
+ { __atomic_store_n(obj, value, __ATOMIC_RELEASE); }
578
+
579
+ static inline int
580
+ _Py_atomic_load_int_acquire(const int *obj)
581
+ { return __atomic_load_n(obj, __ATOMIC_ACQUIRE); }
582
+
583
+ static inline void
584
+ _Py_atomic_store_uint32_release(uint32_t *obj, uint32_t value)
585
+ { __atomic_store_n(obj, value, __ATOMIC_RELEASE); }
586
+
587
+ static inline void
588
+ _Py_atomic_store_uint64_release(uint64_t *obj, uint64_t value)
589
+ { __atomic_store_n(obj, value, __ATOMIC_RELEASE); }
590
+
591
+ static inline uint64_t
592
+ _Py_atomic_load_uint64_acquire(const uint64_t *obj)
593
+ { return __atomic_load_n(obj, __ATOMIC_ACQUIRE); }
594
+
595
+ static inline uint32_t
596
+ _Py_atomic_load_uint32_acquire(const uint32_t *obj)
597
+ { return __atomic_load_n(obj, __ATOMIC_ACQUIRE); }
598
+
599
+ static inline Py_ssize_t
600
+ _Py_atomic_load_ssize_acquire(const Py_ssize_t *obj)
601
+ { return __atomic_load_n(obj, __ATOMIC_ACQUIRE); }
602
+
603
+ // --- _Py_atomic_fence ------------------------------------------------------
604
+
605
+ static inline void
606
+ _Py_atomic_fence_seq_cst(void)
607
+ { __atomic_thread_fence(__ATOMIC_SEQ_CST); }
608
+
609
+ static inline void
610
+ _Py_atomic_fence_acquire(void)
611
+ { __atomic_thread_fence(__ATOMIC_ACQUIRE); }
612
+
613
+ static inline void
614
+ _Py_atomic_fence_release(void)
615
+ { __atomic_thread_fence(__ATOMIC_RELEASE); }