pforge 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1090) hide show
  1. pforge/Builtins.py +288 -0
  2. pforge/BytecodeCaching.py +209 -0
  3. pforge/Bytecodes.py +124 -0
  4. pforge/CacheCleanup.py +59 -0
  5. pforge/Constants.py +510 -0
  6. pforge/Errors.py +104 -0
  7. pforge/HardImportRegistry.py +591 -0
  8. pforge/MainControl.py +1535 -0
  9. pforge/ModuleRegistry.py +401 -0
  10. pforge/OutputDirectories.py +314 -0
  11. pforge/Policies.py +125 -0
  12. pforge/PostProcessing.py +621 -0
  13. pforge/Progress.py +930 -0
  14. pforge/PythonFlavors.py +556 -0
  15. pforge/PythonOperators.py +319 -0
  16. pforge/PythonPrefixes.py +285 -0
  17. pforge/PythonVersions.py +594 -0
  18. pforge/Serialization.py +359 -0
  19. pforge/SourceCodeReferences.py +181 -0
  20. pforge/States.py +59 -0
  21. pforge/Tracing.py +776 -0
  22. pforge/TreeXML.py +178 -0
  23. pforge/Variables.py +597 -0
  24. pforge/Version.py +91 -0
  25. pforge/VersionCheck.py +364 -0
  26. pforge/__init__.py +35 -0
  27. pforge/__main__.py +340 -0
  28. pforge/__past__.py +280 -0
  29. pforge/build/AIXObjGenerator.py +153 -0
  30. pforge/build/AdaptPythonHeaderFiles.py +505 -0
  31. pforge/build/Backend.scons +555 -0
  32. pforge/build/CCompilerVersion.scons +70 -0
  33. pforge/build/ConstantBlobFormat.py +440 -0
  34. pforge/build/DataComposerInterface.py +217 -0
  35. pforge/build/Offsets.scons +189 -0
  36. pforge/build/Onefile.scons +220 -0
  37. pforge/build/SconsCaching.py +586 -0
  38. pforge/build/SconsCompilerSettings.py +2419 -0
  39. pforge/build/SconsControl.py +170 -0
  40. pforge/build/SconsHacks.py +259 -0
  41. pforge/build/SconsInterface.py +996 -0
  42. pforge/build/SconsProgress.py +104 -0
  43. pforge/build/SconsPythonBuild.py +248 -0
  44. pforge/build/SconsSourceIndex.py +353 -0
  45. pforge/build/SconsSpawn.py +594 -0
  46. pforge/build/SconsStableIncludePaths.py +277 -0
  47. pforge/build/SconsUtils.py +1388 -0
  48. pforge/build/WindowsObjGenerator.py +175 -0
  49. pforge/build/__init__.py +22 -0
  50. pforge/build/include/pforge/allocator.h +1024 -0
  51. pforge/build/include/pforge/blobs.h +130 -0
  52. pforge/build/include/pforge/builtins.h +106 -0
  53. pforge/build/include/pforge/calling.h +140 -0
  54. pforge/build/include/pforge/checkers.h +63 -0
  55. pforge/build/include/pforge/checksum_tools.h +33 -0
  56. pforge/build/include/pforge/compiled_asyncgen.h +285 -0
  57. pforge/build/include/pforge/compiled_cell.h +89 -0
  58. pforge/build/include/pforge/compiled_coroutine.h +282 -0
  59. pforge/build/include/pforge/compiled_frame.h +896 -0
  60. pforge/build/include/pforge/compiled_function.h +176 -0
  61. pforge/build/include/pforge/compiled_generator.h +310 -0
  62. pforge/build/include/pforge/compiled_method.h +64 -0
  63. pforge/build/include/pforge/compiled_types_common.h +117 -0
  64. pforge/build/include/pforge/constants.h +202 -0
  65. pforge/build/include/pforge/constants_blob.h +62 -0
  66. pforge/build/include/pforge/constants_blob_spec.h +116 -0
  67. pforge/build/include/pforge/cpython_api_compat.h +46 -0
  68. pforge/build/include/pforge/debug_settings.h +63 -0
  69. pforge/build/include/pforge/defines.h +79 -0
  70. pforge/build/include/pforge/environment_variables.h +38 -0
  71. pforge/build/include/pforge/environment_variables_system.h +57 -0
  72. pforge/build/include/pforge/exception_groups.h +631 -0
  73. pforge/build/include/pforge/exceptions.h +1495 -0
  74. pforge/build/include/pforge/filesystem_paths.h +130 -0
  75. pforge/build/include/pforge/freelists.h +162 -0
  76. pforge/build/include/pforge/gc_runtime.h +170 -0
  77. pforge/build/include/pforge/hedley.h +1825 -0
  78. pforge/build/include/pforge/helper/attributes.h +98 -0
  79. pforge/build/include/pforge/helper/boolean.h +107 -0
  80. pforge/build/include/pforge/helper/bytearrays.h +44 -0
  81. pforge/build/include/pforge/helper/bytes.h +42 -0
  82. pforge/build/include/pforge/helper/calling_generated.h +139 -0
  83. pforge/build/include/pforge/helper/comparisons_dual_eq.h +58 -0
  84. pforge/build/include/pforge/helper/comparisons_dual_ge.h +50 -0
  85. pforge/build/include/pforge/helper/comparisons_dual_gt.h +50 -0
  86. pforge/build/include/pforge/helper/comparisons_dual_le.h +58 -0
  87. pforge/build/include/pforge/helper/comparisons_dual_lt.h +58 -0
  88. pforge/build/include/pforge/helper/comparisons_dual_ne.h +50 -0
  89. pforge/build/include/pforge/helper/comparisons_eq.h +263 -0
  90. pforge/build/include/pforge/helper/comparisons_ge.h +207 -0
  91. pforge/build/include/pforge/helper/comparisons_gt.h +207 -0
  92. pforge/build/include/pforge/helper/comparisons_le.h +263 -0
  93. pforge/build/include/pforge/helper/comparisons_lt.h +263 -0
  94. pforge/build/include/pforge/helper/comparisons_ne.h +207 -0
  95. pforge/build/include/pforge/helper/complex.h +57 -0
  96. pforge/build/include/pforge/helper/dict_internals.h +123 -0
  97. pforge/build/include/pforge/helper/dictionaries.h +568 -0
  98. pforge/build/include/pforge/helper/floats.h +41 -0
  99. pforge/build/include/pforge/helper/import_hard.h +153 -0
  100. pforge/build/include/pforge/helper/indexes.h +53 -0
  101. pforge/build/include/pforge/helper/ints.h +188 -0
  102. pforge/build/include/pforge/helper/iterators.h +467 -0
  103. pforge/build/include/pforge/helper/lists.h +113 -0
  104. pforge/build/include/pforge/helper/lists_generated.h +43 -0
  105. pforge/build/include/pforge/helper/long_helpers.h +78 -0
  106. pforge/build/include/pforge/helper/mappings.h +67 -0
  107. pforge/build/include/pforge/helper/operations.h +126 -0
  108. pforge/build/include/pforge/helper/operations_binary_add.h +268 -0
  109. pforge/build/include/pforge/helper/operations_binary_bitand.h +118 -0
  110. pforge/build/include/pforge/helper/operations_binary_bitor.h +118 -0
  111. pforge/build/include/pforge/helper/operations_binary_bitxor.h +118 -0
  112. pforge/build/include/pforge/helper/operations_binary_divmod.h +113 -0
  113. pforge/build/include/pforge/helper/operations_binary_dual_add.h +45 -0
  114. pforge/build/include/pforge/helper/operations_binary_dual_sub.h +49 -0
  115. pforge/build/include/pforge/helper/operations_binary_floordiv.h +113 -0
  116. pforge/build/include/pforge/helper/operations_binary_lshift.h +109 -0
  117. pforge/build/include/pforge/helper/operations_binary_matmult.h +70 -0
  118. pforge/build/include/pforge/helper/operations_binary_mod.h +314 -0
  119. pforge/build/include/pforge/helper/operations_binary_mult.h +275 -0
  120. pforge/build/include/pforge/helper/operations_binary_olddiv.h +135 -0
  121. pforge/build/include/pforge/helper/operations_binary_pow.h +100 -0
  122. pforge/build/include/pforge/helper/operations_binary_rshift.h +109 -0
  123. pforge/build/include/pforge/helper/operations_binary_sub.h +142 -0
  124. pforge/build/include/pforge/helper/operations_binary_truediv.h +113 -0
  125. pforge/build/include/pforge/helper/operations_builtin_types.h +268 -0
  126. pforge/build/include/pforge/helper/operations_inplace_add.h +181 -0
  127. pforge/build/include/pforge/helper/operations_inplace_bitand.h +84 -0
  128. pforge/build/include/pforge/helper/operations_inplace_bitor.h +84 -0
  129. pforge/build/include/pforge/helper/operations_inplace_bitxor.h +84 -0
  130. pforge/build/include/pforge/helper/operations_inplace_floordiv.h +103 -0
  131. pforge/build/include/pforge/helper/operations_inplace_lshift.h +70 -0
  132. pforge/build/include/pforge/helper/operations_inplace_matmult.h +68 -0
  133. pforge/build/include/pforge/helper/operations_inplace_mod.h +226 -0
  134. pforge/build/include/pforge/helper/operations_inplace_mult.h +192 -0
  135. pforge/build/include/pforge/helper/operations_inplace_olddiv.h +123 -0
  136. pforge/build/include/pforge/helper/operations_inplace_pow.h +95 -0
  137. pforge/build/include/pforge/helper/operations_inplace_rshift.h +70 -0
  138. pforge/build/include/pforge/helper/operations_inplace_sub.h +110 -0
  139. pforge/build/include/pforge/helper/operations_inplace_truediv.h +103 -0
  140. pforge/build/include/pforge/helper/pow_helpers.h +41 -0
  141. pforge/build/include/pforge/helper/raising.h +130 -0
  142. pforge/build/include/pforge/helper/rangeobjects.h +75 -0
  143. pforge/build/include/pforge/helper/repeat_helpers.h +41 -0
  144. pforge/build/include/pforge/helper/richcomparisons.h +39 -0
  145. pforge/build/include/pforge/helper/sequences.h +42 -0
  146. pforge/build/include/pforge/helper/sets.h +30 -0
  147. pforge/build/include/pforge/helper/slices.h +320 -0
  148. pforge/build/include/pforge/helper/strings.h +41 -0
  149. pforge/build/include/pforge/helper/subscripts.h +463 -0
  150. pforge/build/include/pforge/helper/tuples.h +220 -0
  151. pforge/build/include/pforge/helpers.h +512 -0
  152. pforge/build/include/pforge/importing.h +180 -0
  153. pforge/build/include/pforge/incbin.h +360 -0
  154. pforge/build/include/pforge/jit_sources.h +34 -0
  155. pforge/build/include/pforge/prelude.h +610 -0
  156. pforge/build/include/pforge/printing.h +92 -0
  157. pforge/build/include/pforge/python_internals_access.h +461 -0
  158. pforge/build/include/pforge/python_pgo.h +66 -0
  159. pforge/build/include/pforge/python_pgo_spec.h +69 -0
  160. pforge/build/include/pforge/safe_string_ops.h +78 -0
  161. pforge/build/include/pforge/string_functions.h +99 -0
  162. pforge/build/include/pforge/threading.h +158 -0
  163. pforge/build/include/pforge/tracing.h +86 -0
  164. pforge/build/include/pforge/type_aliases.h +42 -0
  165. pforge/build/include/pforge/unfreezing.h +200 -0
  166. pforge/build/inline_copy/appdirs/LICENSE.txt +23 -0
  167. pforge/build/inline_copy/appdirs/appdirs.py +611 -0
  168. pforge/build/inline_copy/bin/scons.py +68 -0
  169. pforge/build/inline_copy/jinja2/LICENSE.rst +28 -0
  170. pforge/build/inline_copy/jinja2/README.rst +2 -0
  171. pforge/build/inline_copy/jinja2/jinja2/__init__.py +72 -0
  172. pforge/build/inline_copy/jinja2/jinja2/_compat.py +105 -0
  173. pforge/build/inline_copy/jinja2/jinja2/_identifier.py +2 -0
  174. pforge/build/inline_copy/jinja2/jinja2/bccache.py +361 -0
  175. pforge/build/inline_copy/jinja2/jinja2/compiler.py +1721 -0
  176. pforge/build/inline_copy/jinja2/jinja2/constants.py +32 -0
  177. pforge/build/inline_copy/jinja2/jinja2/debug.py +378 -0
  178. pforge/build/inline_copy/jinja2/jinja2/defaults.py +56 -0
  179. pforge/build/inline_copy/jinja2/jinja2/environment.py +1276 -0
  180. pforge/build/inline_copy/jinja2/jinja2/exceptions.py +146 -0
  181. pforge/build/inline_copy/jinja2/jinja2/ext.py +627 -0
  182. pforge/build/inline_copy/jinja2/jinja2/filters.py +1190 -0
  183. pforge/build/inline_copy/jinja2/jinja2/idtracking.py +286 -0
  184. pforge/build/inline_copy/jinja2/jinja2/lexer.py +739 -0
  185. pforge/build/inline_copy/jinja2/jinja2/loaders.py +481 -0
  186. pforge/build/inline_copy/jinja2/jinja2/meta.py +106 -0
  187. pforge/build/inline_copy/jinja2/jinja2/nativetypes.py +220 -0
  188. pforge/build/inline_copy/jinja2/jinja2/nodes.py +999 -0
  189. pforge/build/inline_copy/jinja2/jinja2/optimizer.py +49 -0
  190. pforge/build/inline_copy/jinja2/jinja2/parser.py +903 -0
  191. pforge/build/inline_copy/jinja2/jinja2/runtime.py +808 -0
  192. pforge/build/inline_copy/jinja2/jinja2/sandbox.py +488 -0
  193. pforge/build/inline_copy/jinja2/jinja2/tests.py +174 -0
  194. pforge/build/inline_copy/jinja2/jinja2/utils.py +642 -0
  195. pforge/build/inline_copy/jinja2/jinja2/visitor.py +87 -0
  196. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Action.py +1619 -0
  197. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Builder.py +918 -0
  198. pforge/build/inline_copy/lib/scons-4.10.1/SCons/CacheDir.py +404 -0
  199. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Conftest.py +870 -0
  200. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Debug.py +254 -0
  201. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Defaults.py +760 -0
  202. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Environment.py +2910 -0
  203. pforge/build/inline_copy/lib/scons-4.10.1/SCons/EnvironmentValues.py +119 -0
  204. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Errors.py +222 -0
  205. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Executor.py +665 -0
  206. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Memoize.py +242 -0
  207. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Node/Alias.py +150 -0
  208. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Node/FS.py +3861 -0
  209. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Node/__init__.py +1807 -0
  210. pforge/build/inline_copy/lib/scons-4.10.1/SCons/PathList.py +227 -0
  211. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Platform/__init__.py +381 -0
  212. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Platform/aix.py +80 -0
  213. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Platform/cygwin.py +62 -0
  214. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Platform/darwin.py +71 -0
  215. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Platform/hpux.py +45 -0
  216. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Platform/irix.py +41 -0
  217. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Platform/mingw.py +35 -0
  218. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Platform/os2.py +56 -0
  219. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Platform/posix.py +125 -0
  220. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Platform/virtualenv.py +135 -0
  221. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Platform/win32.py +447 -0
  222. pforge/build/inline_copy/lib/scons-4.10.1/SCons/SConf.py +1174 -0
  223. pforge/build/inline_copy/lib/scons-4.10.1/SCons/SConsign.py +442 -0
  224. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Scanner/C.py +333 -0
  225. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Scanner/Dir.py +131 -0
  226. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Scanner/Prog.py +114 -0
  227. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Scanner/RC.py +57 -0
  228. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Scanner/__init__.py +438 -0
  229. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Script/Interactive.py +377 -0
  230. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Script/Main.py +1601 -0
  231. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Script/SConsOptions.py +1260 -0
  232. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Script/SConscript.py +713 -0
  233. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Script/__init__.py +498 -0
  234. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Subst.py +1003 -0
  235. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Taskmaster/Job.py +762 -0
  236. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Taskmaster/__init__.py +1137 -0
  237. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/386asm.py +61 -0
  238. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/GettextCommon.py +429 -0
  239. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/MSCommon/MSVC/Config.py +396 -0
  240. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/MSCommon/MSVC/Dispatcher.py +84 -0
  241. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/MSCommon/MSVC/Exceptions.py +56 -0
  242. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/MSCommon/MSVC/Kind.py +668 -0
  243. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/MSCommon/MSVC/Policy.py +330 -0
  244. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/MSCommon/MSVC/Registry.py +121 -0
  245. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/MSCommon/MSVC/ScriptArguments.py +1103 -0
  246. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/MSCommon/MSVC/SetupEnvDefault.py +236 -0
  247. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/MSCommon/MSVC/Util.py +494 -0
  248. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/MSCommon/MSVC/Warnings.py +35 -0
  249. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/MSCommon/MSVC/WinSDK.py +264 -0
  250. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/MSCommon/MSVC/__init__.py +56 -0
  251. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/MSCommon/__init__.py +101 -0
  252. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/MSCommon/arch.py +66 -0
  253. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/MSCommon/common.py +653 -0
  254. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/MSCommon/netframework.py +82 -0
  255. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/MSCommon/sdk.py +412 -0
  256. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/MSCommon/vc.py +2949 -0
  257. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/MSCommon/vs.py +647 -0
  258. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/PharLapCommon.py +116 -0
  259. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/__init__.py +893 -0
  260. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/aixc++.py +43 -0
  261. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/aixcc.py +74 -0
  262. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/aixcxx.py +77 -0
  263. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/aixlink.py +78 -0
  264. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/applelink.py +209 -0
  265. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/ar.py +63 -0
  266. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/as.py +49 -0
  267. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/asm.py +78 -0
  268. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/bcc32.py +81 -0
  269. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/c++.py +44 -0
  270. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/cc.py +105 -0
  271. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/clang.py +91 -0
  272. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/clangCommon/__init__.py +18 -0
  273. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/clangxx.py +99 -0
  274. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/cxx.py +95 -0
  275. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/cyglink.py +235 -0
  276. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/default.py +45 -0
  277. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/filesystem.py +94 -0
  278. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/g++.py +45 -0
  279. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/gas.py +56 -0
  280. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/gcc.py +108 -0
  281. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/gnulink.py +73 -0
  282. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/gxx.py +80 -0
  283. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/hpc++.py +45 -0
  284. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/hpcc.py +53 -0
  285. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/hpcxx.py +85 -0
  286. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/hplink.py +72 -0
  287. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/icc.py +59 -0
  288. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/icl.py +52 -0
  289. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/ilink32.py +60 -0
  290. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/install.py +510 -0
  291. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/intelc.py +617 -0
  292. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/link.py +72 -0
  293. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/linkCommon/LoadableModule.py +131 -0
  294. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/linkCommon/SharedLibrary.py +218 -0
  295. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/linkCommon/__init__.py +175 -0
  296. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/linkloc.py +112 -0
  297. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/m4.py +63 -0
  298. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/masm.py +77 -0
  299. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/mingw.py +224 -0
  300. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/msgfmt.py +132 -0
  301. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/msginit.py +137 -0
  302. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/msgmerge.py +125 -0
  303. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/mslib.py +78 -0
  304. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/mslink.py +344 -0
  305. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/mssdk.py +52 -0
  306. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/msvc.py +333 -0
  307. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/msvs.py +2197 -0
  308. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/mwcc.py +207 -0
  309. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/mwld.py +108 -0
  310. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/nasm.py +72 -0
  311. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/rpcgen.py +70 -0
  312. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/tlib.py +53 -0
  313. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/wix.py +104 -0
  314. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Tool/xgettext.py +337 -0
  315. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Util/__init__.py +1423 -0
  316. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Util/envs.py +350 -0
  317. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Util/filelock.py +151 -0
  318. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Util/hashes.py +406 -0
  319. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Util/sctypes.py +383 -0
  320. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Util/stats.py +224 -0
  321. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Utilities/ConfigureCache.py +171 -0
  322. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Utilities/__init__.py +0 -0
  323. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Utilities/sconsign.py +492 -0
  324. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Variables/BoolVariable.py +105 -0
  325. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Variables/EnumVariable.py +148 -0
  326. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Variables/ListVariable.py +237 -0
  327. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Variables/PackageVariable.py +136 -0
  328. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Variables/PathVariable.py +174 -0
  329. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Variables/__init__.py +468 -0
  330. pforge/build/inline_copy/lib/scons-4.10.1/SCons/Warnings.py +300 -0
  331. pforge/build/inline_copy/lib/scons-4.10.1/SCons/__init__.py +9 -0
  332. pforge/build/inline_copy/lib/scons-4.10.1/SCons/compat/__init__.py +104 -0
  333. pforge/build/inline_copy/lib/scons-4.10.1/SCons/compat/_scons_dbm.py +42 -0
  334. pforge/build/inline_copy/lib/scons-4.10.1/SCons/compat/win32.py +101 -0
  335. pforge/build/inline_copy/lib/scons-4.10.1/SCons/cpp.py +684 -0
  336. pforge/build/inline_copy/lib/scons-4.10.1/SCons/dblite.py +351 -0
  337. pforge/build/inline_copy/lib/scons-4.10.1/SCons/exitfuncs.py +59 -0
  338. pforge/build/inline_copy/markupsafe/LICENSE.rst +28 -0
  339. pforge/build/inline_copy/markupsafe/markupsafe/__init__.py +327 -0
  340. pforge/build/inline_copy/markupsafe/markupsafe/_compat.py +33 -0
  341. pforge/build/inline_copy/markupsafe/markupsafe/_constants.py +264 -0
  342. pforge/build/inline_copy/markupsafe/markupsafe/_native.py +69 -0
  343. pforge/build/inline_copy/pkg_resources/pkg_resources/__init__.py +3275 -0
  344. pforge/build/inline_copy/pkg_resources/pkg_resources/py31compat.py +21 -0
  345. pforge/build/inline_copy/python_hacl/LICENSE.txt +201 -0
  346. pforge/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.c +1430 -0
  347. pforge/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.h +66 -0
  348. pforge/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.c +463 -0
  349. pforge/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.h +66 -0
  350. pforge/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.c +1273 -0
  351. pforge/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.h +204 -0
  352. pforge/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.c +734 -0
  353. pforge/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.h +131 -0
  354. pforge/build/inline_copy/python_hacl/hacl_312/Hacl_Streaming_Types.h +83 -0
  355. pforge/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt128_Verified.h +346 -0
  356. pforge/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt_8_16_32_64.h +107 -0
  357. pforge/build/inline_copy/python_hacl/hacl_312/include/krml/fstar_uint128_struct_endianness.h +68 -0
  358. pforge/build/inline_copy/python_hacl/hacl_312/include/krml/internal/target.h +293 -0
  359. pforge/build/inline_copy/python_hacl/hacl_312/include/krml/lowstar_endianness.h +231 -0
  360. pforge/build/inline_copy/python_hacl/hacl_312/include/krml/types.h +14 -0
  361. pforge/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_MD5.h +56 -0
  362. pforge/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA1.h +56 -0
  363. pforge/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA2.h +164 -0
  364. pforge/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA3.h +65 -0
  365. pforge/build/inline_copy/python_hacl/hacl_312/python_hacl_namespaces.h +89 -0
  366. pforge/build/inline_copy/stubgen/astunparse.py +938 -0
  367. pforge/build/inline_copy/stubgen/six.py +998 -0
  368. pforge/build/inline_copy/stubgen/stubgen.py +850 -0
  369. pforge/build/inline_copy/tqdm/tqdm/__init__.py +40 -0
  370. pforge/build/inline_copy/tqdm/tqdm/_main.py +9 -0
  371. pforge/build/inline_copy/tqdm/tqdm/_monitor.py +97 -0
  372. pforge/build/inline_copy/tqdm/tqdm/_tqdm.py +9 -0
  373. pforge/build/inline_copy/tqdm/tqdm/_tqdm_notebook.py +9 -0
  374. pforge/build/inline_copy/tqdm/tqdm/_tqdm_pandas.py +24 -0
  375. pforge/build/inline_copy/tqdm/tqdm/_utils.py +12 -0
  376. pforge/build/inline_copy/tqdm/tqdm/auto.py +44 -0
  377. pforge/build/inline_copy/tqdm/tqdm/autonotebook.py +28 -0
  378. pforge/build/inline_copy/tqdm/tqdm/dask.py +46 -0
  379. pforge/build/inline_copy/tqdm/tqdm/notebook.py +316 -0
  380. pforge/build/inline_copy/tqdm/tqdm/std.py +1527 -0
  381. pforge/build/inline_copy/tqdm/tqdm/tk.py +207 -0
  382. pforge/build/inline_copy/tqdm/tqdm/utils.py +351 -0
  383. pforge/build/inline_copy/tqdm/tqdm/version.py +2 -0
  384. pforge/build/inline_copy/yaml/LICENSE +20 -0
  385. pforge/build/inline_copy/yaml/yaml/__init__.py +427 -0
  386. pforge/build/inline_copy/yaml/yaml/composer.py +139 -0
  387. pforge/build/inline_copy/yaml/yaml/constructor.py +748 -0
  388. pforge/build/inline_copy/yaml/yaml/cyaml.py +101 -0
  389. pforge/build/inline_copy/yaml/yaml/dumper.py +62 -0
  390. pforge/build/inline_copy/yaml/yaml/emitter.py +1137 -0
  391. pforge/build/inline_copy/yaml/yaml/error.py +75 -0
  392. pforge/build/inline_copy/yaml/yaml/events.py +86 -0
  393. pforge/build/inline_copy/yaml/yaml/loader.py +63 -0
  394. pforge/build/inline_copy/yaml/yaml/nodes.py +49 -0
  395. pforge/build/inline_copy/yaml/yaml/parser.py +589 -0
  396. pforge/build/inline_copy/yaml/yaml/reader.py +185 -0
  397. pforge/build/inline_copy/yaml/yaml/representer.py +389 -0
  398. pforge/build/inline_copy/yaml/yaml/resolver.py +227 -0
  399. pforge/build/inline_copy/yaml/yaml/scanner.py +1435 -0
  400. pforge/build/inline_copy/yaml/yaml/serializer.py +111 -0
  401. pforge/build/inline_copy/yaml/yaml/tokens.py +104 -0
  402. pforge/build/inline_copy/zlib/LICENSE +22 -0
  403. pforge/build/inline_copy/zlib/crc32.c +991 -0
  404. pforge/build/inline_copy/zlib/crc32.h +9446 -0
  405. pforge/build/inline_copy/zlib/zconf.h +397 -0
  406. pforge/build/inline_copy/zlib/zutil.h +275 -0
  407. pforge/build/inline_copy/zstd/LICENSE.txt +30 -0
  408. pforge/build/inline_copy/zstd/common/bitstream.h +463 -0
  409. pforge/build/inline_copy/zstd/common/compiler.h +288 -0
  410. pforge/build/inline_copy/zstd/common/cpu.h +213 -0
  411. pforge/build/inline_copy/zstd/common/debug.h +107 -0
  412. pforge/build/inline_copy/zstd/common/entropy_common.c +360 -0
  413. pforge/build/inline_copy/zstd/common/error_private.c +56 -0
  414. pforge/build/inline_copy/zstd/common/error_private.h +80 -0
  415. pforge/build/inline_copy/zstd/common/fse.h +715 -0
  416. pforge/build/inline_copy/zstd/common/fse_decompress.c +393 -0
  417. pforge/build/inline_copy/zstd/common/huf.h +361 -0
  418. pforge/build/inline_copy/zstd/common/mem.h +426 -0
  419. pforge/build/inline_copy/zstd/common/xxhash.c +826 -0
  420. pforge/build/inline_copy/zstd/common/xxhash.h +285 -0
  421. pforge/build/inline_copy/zstd/common/zstd_common.c +83 -0
  422. pforge/build/inline_copy/zstd/common/zstd_deps.h +111 -0
  423. pforge/build/inline_copy/zstd/common/zstd_errors.h +95 -0
  424. pforge/build/inline_copy/zstd/common/zstd_internal.h +478 -0
  425. pforge/build/inline_copy/zstd/decompress/huf_decompress.c +1350 -0
  426. pforge/build/inline_copy/zstd/decompress/zstd_ddict.c +244 -0
  427. pforge/build/inline_copy/zstd/decompress/zstd_ddict.h +44 -0
  428. pforge/build/inline_copy/zstd/decompress/zstd_decompress.c +1930 -0
  429. pforge/build/inline_copy/zstd/decompress/zstd_decompress_block.c +1540 -0
  430. pforge/build/inline_copy/zstd/decompress/zstd_decompress_block.h +62 -0
  431. pforge/build/inline_copy/zstd/decompress/zstd_decompress_internal.h +190 -0
  432. pforge/build/inline_copy/zstd/zstd.h +2391 -0
  433. pforge/build/python_internal_offset/offsets_3.13-Windows-x86-gil-debug.json +6 -0
  434. pforge/build/python_internal_offset/offsets_3.13-Windows-x86-gil.json +6 -0
  435. pforge/build/python_internal_offset/offsets_3.13-Windows-x86_64-gil-debug.json +6 -0
  436. pforge/build/python_internal_offset/offsets_3.13-Windows-x86_64-gil.json +6 -0
  437. pforge/build/python_internal_offset/offsets_3.14-Windows-x86-gil-debug.json +7 -0
  438. pforge/build/python_internal_offset/offsets_3.14-Windows-x86-gil.json +7 -0
  439. pforge/build/python_internal_offset/offsets_3.14-Windows-x86_64-gil-debug.json +7 -0
  440. pforge/build/python_internal_offset/offsets_3.14-Windows-x86_64-gil.json +7 -0
  441. pforge/build/python_internal_offset/offsets_3.15-Windows-x86-gil-debug.json +7 -0
  442. pforge/build/python_internal_offset/offsets_3.15-Windows-x86-gil.json +7 -0
  443. pforge/build/python_internal_offset/offsets_3.15-Windows-x86_64-gil-debug.json +7 -0
  444. pforge/build/python_internal_offset/offsets_3.15-Windows-x86_64-gil.json +7 -0
  445. pforge/build/static_src/CompiledAsyncgenType.c +2393 -0
  446. pforge/build/static_src/CompiledCellType.c +324 -0
  447. pforge/build/static_src/CompiledCodeHelpers.c +2387 -0
  448. pforge/build/static_src/CompiledCoroutineType.c +2061 -0
  449. pforge/build/static_src/CompiledFrameLocalsProxyType.c +868 -0
  450. pforge/build/static_src/CompiledFrameType.c +1752 -0
  451. pforge/build/static_src/CompiledFunctionType.c +3608 -0
  452. pforge/build/static_src/CompiledGeneratorType.c +2064 -0
  453. pforge/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +2708 -0
  454. pforge/build/static_src/CompiledMethodType.c +701 -0
  455. pforge/build/static_src/HelpersAllocator.c +1132 -0
  456. pforge/build/static_src/HelpersAttributes.c +1261 -0
  457. pforge/build/static_src/HelpersBuiltin.c +1104 -0
  458. pforge/build/static_src/HelpersBuiltinTypeMethods.c +3678 -0
  459. pforge/build/static_src/HelpersBytes.c +148 -0
  460. pforge/build/static_src/HelpersCalling.c +400 -0
  461. pforge/build/static_src/HelpersCallingGenerated.c +14688 -0
  462. pforge/build/static_src/HelpersChecksumTools.c +72 -0
  463. pforge/build/static_src/HelpersClasses.c +94 -0
  464. pforge/build/static_src/HelpersComparisonDualEq.c +201 -0
  465. pforge/build/static_src/HelpersComparisonDualGe.c +139 -0
  466. pforge/build/static_src/HelpersComparisonDualGt.c +139 -0
  467. pforge/build/static_src/HelpersComparisonDualLe.c +201 -0
  468. pforge/build/static_src/HelpersComparisonDualLt.c +201 -0
  469. pforge/build/static_src/HelpersComparisonDualNe.c +139 -0
  470. pforge/build/static_src/HelpersComparisonEq.c +12140 -0
  471. pforge/build/static_src/HelpersComparisonEqUtils.c +174 -0
  472. pforge/build/static_src/HelpersComparisonGe.c +11910 -0
  473. pforge/build/static_src/HelpersComparisonGt.c +11894 -0
  474. pforge/build/static_src/HelpersComparisonLe.c +12032 -0
  475. pforge/build/static_src/HelpersComparisonLt.c +12016 -0
  476. pforge/build/static_src/HelpersComparisonNe.c +12014 -0
  477. pforge/build/static_src/HelpersConsole.c +233 -0
  478. pforge/build/static_src/HelpersConstantsBlob.c +1780 -0
  479. pforge/build/static_src/HelpersDeepcopy.c +810 -0
  480. pforge/build/static_src/HelpersDialogs.c +232 -0
  481. pforge/build/static_src/HelpersDictionaries.c +4383 -0
  482. pforge/build/static_src/HelpersDictionariesGenerated.c +476 -0
  483. pforge/build/static_src/HelpersDictionariesSetGenerated.c +1043 -0
  484. pforge/build/static_src/HelpersDumpBacktraces.c +157 -0
  485. pforge/build/static_src/HelpersEnvironmentVariables.c +68 -0
  486. pforge/build/static_src/HelpersEnvironmentVariablesSystem.c +125 -0
  487. pforge/build/static_src/HelpersExceptions.c +322 -0
  488. pforge/build/static_src/HelpersFiles.c +366 -0
  489. pforge/build/static_src/HelpersFilesystemPaths.c +1636 -0
  490. pforge/build/static_src/HelpersFloats.c +107 -0
  491. pforge/build/static_src/HelpersHeapStorage.c +99 -0
  492. pforge/build/static_src/HelpersImport.c +604 -0
  493. pforge/build/static_src/HelpersImportHard.c +644 -0
  494. pforge/build/static_src/HelpersJitSources.c +52 -0
  495. pforge/build/static_src/HelpersLists.c +1214 -0
  496. pforge/build/static_src/HelpersListsGenerated.c +568 -0
  497. pforge/build/static_src/HelpersMappings.c +49 -0
  498. pforge/build/static_src/HelpersMatching.c +212 -0
  499. pforge/build/static_src/HelpersOperationBinaryAdd.c +6751 -0
  500. pforge/build/static_src/HelpersOperationBinaryAddUtils.c +834 -0
  501. pforge/build/static_src/HelpersOperationBinaryBitand.c +2744 -0
  502. pforge/build/static_src/HelpersOperationBinaryBitor.c +2744 -0
  503. pforge/build/static_src/HelpersOperationBinaryBitxor.c +2744 -0
  504. pforge/build/static_src/HelpersOperationBinaryDivmod.c +2412 -0
  505. pforge/build/static_src/HelpersOperationBinaryDivmodUtils.c +36 -0
  506. pforge/build/static_src/HelpersOperationBinaryDualAdd.c +176 -0
  507. pforge/build/static_src/HelpersOperationBinaryDualSub.c +242 -0
  508. pforge/build/static_src/HelpersOperationBinaryFloordiv.c +2428 -0
  509. pforge/build/static_src/HelpersOperationBinaryLshift.c +2852 -0
  510. pforge/build/static_src/HelpersOperationBinaryMatmult.c +459 -0
  511. pforge/build/static_src/HelpersOperationBinaryMod.c +6555 -0
  512. pforge/build/static_src/HelpersOperationBinaryMult.c +6712 -0
  513. pforge/build/static_src/HelpersOperationBinaryMultUtils.c +142 -0
  514. pforge/build/static_src/HelpersOperationBinaryOlddiv.c +2361 -0
  515. pforge/build/static_src/HelpersOperationBinaryPow.c +2923 -0
  516. pforge/build/static_src/HelpersOperationBinaryPowUtils.c +29 -0
  517. pforge/build/static_src/HelpersOperationBinaryRshift.c +2712 -0
  518. pforge/build/static_src/HelpersOperationBinarySub.c +2880 -0
  519. pforge/build/static_src/HelpersOperationBinaryTruediv.c +2421 -0
  520. pforge/build/static_src/HelpersOperationInplaceAdd.c +5219 -0
  521. pforge/build/static_src/HelpersOperationInplaceAddUtils.c +151 -0
  522. pforge/build/static_src/HelpersOperationInplaceBitand.c +1830 -0
  523. pforge/build/static_src/HelpersOperationInplaceBitor.c +1830 -0
  524. pforge/build/static_src/HelpersOperationInplaceBitxor.c +1830 -0
  525. pforge/build/static_src/HelpersOperationInplaceFloordiv.c +2609 -0
  526. pforge/build/static_src/HelpersOperationInplaceLshift.c +1598 -0
  527. pforge/build/static_src/HelpersOperationInplaceMatmult.c +607 -0
  528. pforge/build/static_src/HelpersOperationInplaceMod.c +4766 -0
  529. pforge/build/static_src/HelpersOperationInplaceMult.c +4695 -0
  530. pforge/build/static_src/HelpersOperationInplaceOlddiv.c +2557 -0
  531. pforge/build/static_src/HelpersOperationInplacePow.c +3063 -0
  532. pforge/build/static_src/HelpersOperationInplaceRshift.c +1538 -0
  533. pforge/build/static_src/HelpersOperationInplaceSub.c +2900 -0
  534. pforge/build/static_src/HelpersOperationInplaceTruediv.c +2616 -0
  535. pforge/build/static_src/HelpersProfiling.c +107 -0
  536. pforge/build/static_src/HelpersPythonPgo.c +1137 -0
  537. pforge/build/static_src/HelpersRaising.c +473 -0
  538. pforge/build/static_src/HelpersSafeStrings.c +282 -0
  539. pforge/build/static_src/HelpersSequences.c +179 -0
  540. pforge/build/static_src/HelpersSlices.c +87 -0
  541. pforge/build/static_src/HelpersStrings.c +1260 -0
  542. pforge/build/static_src/HelpersTuples.c +180 -0
  543. pforge/build/static_src/HelpersTypes.c +1240 -0
  544. pforge/build/static_src/HelpersWarnings.c +86 -0
  545. pforge/build/static_src/InspectPatcher.c +700 -0
  546. pforge/build/static_src/MainProgram.c +2611 -0
  547. pforge/build/static_src/MetaPathBasedLoader.c +3817 -0
  548. pforge/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +135 -0
  549. pforge/build/static_src/MetaPathBasedLoaderResourceReader.c +218 -0
  550. pforge/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +845 -0
  551. pforge/build/static_src/OnefileBootstrap.c +2098 -0
  552. pforge/build/static_src/OnefileSplashScreen.cpp +301 -0
  553. pforge/code_generation/AnnotateFunctionCodes.py +234 -0
  554. pforge/code_generation/AsyncgenCodes.py +199 -0
  555. pforge/code_generation/AttributeCodes.py +360 -0
  556. pforge/code_generation/BinaryOperationHelperDefinitions.py +740 -0
  557. pforge/code_generation/BranchCodes.py +68 -0
  558. pforge/code_generation/BuiltinCodes.py +642 -0
  559. pforge/code_generation/CallCodes.py +1280 -0
  560. pforge/code_generation/ClassCodes.py +288 -0
  561. pforge/code_generation/CodeGeneration.py +1228 -0
  562. pforge/code_generation/CodeHelperSelection.py +84 -0
  563. pforge/code_generation/CodeHelpers.py +459 -0
  564. pforge/code_generation/CodeObjectCodes.py +33 -0
  565. pforge/code_generation/ComparisonCodes.py +575 -0
  566. pforge/code_generation/ComparisonHelperDefinitions.py +158 -0
  567. pforge/code_generation/ConditionalCodes.py +236 -0
  568. pforge/code_generation/ConstantCodes.py +454 -0
  569. pforge/code_generation/Contexts.py +1275 -0
  570. pforge/code_generation/CoroutineCodes.py +265 -0
  571. pforge/code_generation/CtypesCodes.py +49 -0
  572. pforge/code_generation/DeferredReleaseCodes.py +68 -0
  573. pforge/code_generation/DictCodes.py +946 -0
  574. pforge/code_generation/Emission.py +69 -0
  575. pforge/code_generation/ErrorCodes.py +457 -0
  576. pforge/code_generation/EvalCodes.py +464 -0
  577. pforge/code_generation/ExceptionCodes.py +378 -0
  578. pforge/code_generation/ExpressionCTypeSelectionHelpers.py +230 -0
  579. pforge/code_generation/ExpressionCodes.py +64 -0
  580. pforge/code_generation/FrameCodes.py +669 -0
  581. pforge/code_generation/FunctionCodes.py +1064 -0
  582. pforge/code_generation/GeneratorCodes.py +230 -0
  583. pforge/code_generation/GlobalConstants.py +286 -0
  584. pforge/code_generation/GlobalsLocalsCodes.py +226 -0
  585. pforge/code_generation/IdCodes.py +54 -0
  586. pforge/code_generation/ImportCodes.py +789 -0
  587. pforge/code_generation/Indentation.py +34 -0
  588. pforge/code_generation/IndexCodes.py +53 -0
  589. pforge/code_generation/IntegerCodes.py +111 -0
  590. pforge/code_generation/IteratorCodes.py +588 -0
  591. pforge/code_generation/JitCodes.py +47 -0
  592. pforge/code_generation/LabelCodes.py +68 -0
  593. pforge/code_generation/LineNumberCodes.py +98 -0
  594. pforge/code_generation/ListCodes.py +506 -0
  595. pforge/code_generation/LoaderCodes.py +449 -0
  596. pforge/code_generation/LocalsDictCodes.py +370 -0
  597. pforge/code_generation/LoopCodes.py +111 -0
  598. pforge/code_generation/MatchCodes.py +68 -0
  599. pforge/code_generation/ModuleCodes.py +313 -0
  600. pforge/code_generation/Namify.py +292 -0
  601. pforge/code_generation/NetworkxCodes.py +54 -0
  602. pforge/code_generation/OperationCodes.py +404 -0
  603. pforge/code_generation/PackageResourceCodes.py +1129 -0
  604. pforge/code_generation/PgoCodes.py +217 -0
  605. pforge/code_generation/PrintCodes.py +96 -0
  606. pforge/code_generation/PythonAPICodes.py +279 -0
  607. pforge/code_generation/PythonSourceCodeGeneration.py +1247 -0
  608. pforge/code_generation/RaisingCodes.py +490 -0
  609. pforge/code_generation/Reports.py +118 -0
  610. pforge/code_generation/ReturnCodes.py +166 -0
  611. pforge/code_generation/SetCodes.py +199 -0
  612. pforge/code_generation/SliceCodes.py +468 -0
  613. pforge/code_generation/SpecialConstantData.py +76 -0
  614. pforge/code_generation/StringCodes.py +406 -0
  615. pforge/code_generation/SubscriptCodes.py +255 -0
  616. pforge/code_generation/TensorflowCodes.py +57 -0
  617. pforge/code_generation/TryCodes.py +360 -0
  618. pforge/code_generation/TupleCodes.py +116 -0
  619. pforge/code_generation/TypeAliasCodes.py +182 -0
  620. pforge/code_generation/VariableCodes.py +596 -0
  621. pforge/code_generation/VariableDeclarations.py +432 -0
  622. pforge/code_generation/YieldCodes.py +274 -0
  623. pforge/code_generation/__init__.py +22 -0
  624. pforge/code_generation/c_types/CTypeBases.py +191 -0
  625. pforge/code_generation/c_types/CTypeBooleans.py +105 -0
  626. pforge/code_generation/c_types/CTypeCFloats.py +62 -0
  627. pforge/code_generation/c_types/CTypeCLongs.py +46 -0
  628. pforge/code_generation/c_types/CTypeModuleDictVariables.py +114 -0
  629. pforge/code_generation/c_types/CTypePforgeBooleans.py +151 -0
  630. pforge/code_generation/c_types/CTypePforgeInts.py +201 -0
  631. pforge/code_generation/c_types/CTypePforgeVoids.py +110 -0
  632. pforge/code_generation/c_types/CTypePyObjectPointers.py +709 -0
  633. pforge/code_generation/c_types/CTypeVoids.py +93 -0
  634. pforge/code_generation/c_types/__init__.py +22 -0
  635. pforge/code_generation/templates/CodeTemplatesAsyncgens.py +108 -0
  636. pforge/code_generation/templates/CodeTemplatesConstants.py +323 -0
  637. pforge/code_generation/templates/CodeTemplatesCoroutines.py +111 -0
  638. pforge/code_generation/templates/CodeTemplatesExceptions.py +81 -0
  639. pforge/code_generation/templates/CodeTemplatesFrames.py +225 -0
  640. pforge/code_generation/templates/CodeTemplatesFunction.py +131 -0
  641. pforge/code_generation/templates/CodeTemplatesGeneratorFunction.py +131 -0
  642. pforge/code_generation/templates/CodeTemplatesIterators.py +40 -0
  643. pforge/code_generation/templates/CodeTemplatesLoader.py +183 -0
  644. pforge/code_generation/templates/CodeTemplatesModules.py +714 -0
  645. pforge/code_generation/templates/CodeTemplatesVariables.py +439 -0
  646. pforge/code_generation/templates/TemplateDebugWrapper.py +83 -0
  647. pforge/code_generation/templates/__init__.py +22 -0
  648. pforge/code_generation/templates_c/CodeTemplateCallsMethodPositional.c.j2 +324 -0
  649. pforge/code_generation/templates_c/CodeTemplateCallsMixed.c.j2 +146 -0
  650. pforge/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +694 -0
  651. pforge/code_generation/templates_c/CodeTemplateCallsPositionalMethodDescr.c.j2 +169 -0
  652. pforge/code_generation/templates_c/CodeTemplateMakeListHinted.c.j2 +41 -0
  653. pforge/code_generation/templates_c/CodeTemplateMakeListSmall.c.j2 +44 -0
  654. pforge/code_generation/templates_c/HelperBuiltinMethodOperation.c.j2 +56 -0
  655. pforge/code_generation/templates_c/HelperDictionaryCopy.c.j2 +334 -0
  656. pforge/code_generation/templates_c/HelperDictionarySet.c.j2 +613 -0
  657. pforge/code_generation/templates_c/HelperImportHard.c.j2 +40 -0
  658. pforge/code_generation/templates_c/HelperLongTools.c.j2 +56 -0
  659. pforge/code_generation/templates_c/HelperObjectTools.c.j2 +23 -0
  660. pforge/code_generation/templates_c/HelperOperationBinary.c.j2 +151 -0
  661. pforge/code_generation/templates_c/HelperOperationBinaryDual.c.j2 +118 -0
  662. pforge/code_generation/templates_c/HelperOperationComparison.c.j2 +355 -0
  663. pforge/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +118 -0
  664. pforge/code_generation/templates_c/HelperOperationComparisonDual.c.j2 +89 -0
  665. pforge/code_generation/templates_c/HelperOperationComparisonFloat.c.j2 +34 -0
  666. pforge/code_generation/templates_c/HelperOperationComparisonInt.c.j2 +35 -0
  667. pforge/code_generation/templates_c/HelperOperationComparisonList.c.j2 +131 -0
  668. pforge/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +160 -0
  669. pforge/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +118 -0
  670. pforge/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +102 -0
  671. pforge/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +118 -0
  672. pforge/code_generation/templates_c/HelperOperationInplace.c.j2 +290 -0
  673. pforge/code_generation/templates_c/HelperSlotsBinary.c.j2 +441 -0
  674. pforge/code_generation/templates_c/HelperSlotsBytes.c.j2 +54 -0
  675. pforge/code_generation/templates_c/HelperSlotsCommon.c.j2 +74 -0
  676. pforge/code_generation/templates_c/HelperSlotsFloat.c.j2 +387 -0
  677. pforge/code_generation/templates_c/HelperSlotsInt.c.j2 +414 -0
  678. pforge/code_generation/templates_c/HelperSlotsList.c.j2 +62 -0
  679. pforge/code_generation/templates_c/HelperSlotsLong.c.j2 +232 -0
  680. pforge/code_generation/templates_c/HelperSlotsSet.c.j2 +50 -0
  681. pforge/code_generation/templates_c/HelperSlotsStr.c.j2 +58 -0
  682. pforge/code_generation/templates_c/HelperSlotsTuple.c.j2 +61 -0
  683. pforge/code_generation/templates_c/HelperSlotsUnicode.c.j2 +65 -0
  684. pforge/containers/Namedtuples.py +63 -0
  685. pforge/containers/OrderedDicts.py +191 -0
  686. pforge/containers/OrderedSets.py +43 -0
  687. pforge/containers/OrderedSetsFallback.py +142 -0
  688. pforge/containers/__init__.py +22 -0
  689. pforge/distutils/Build.py +79 -0
  690. pforge/distutils/DistutilsCommands.py +516 -0
  691. pforge/distutils/__init__.py +22 -0
  692. pforge/finalizations/Finalization.py +38 -0
  693. pforge/finalizations/FinalizeMarkups.py +124 -0
  694. pforge/finalizations/__init__.py +22 -0
  695. pforge/format/BiomeFormatter.py +147 -0
  696. pforge/format/FileFormatting.py +392 -0
  697. pforge/format/PythonFormatting.py +477 -0
  698. pforge/format/YamlChecker.py +239 -0
  699. pforge/format/YamlFormatter.py +476 -0
  700. pforge/format/__init__.py +28 -0
  701. pforge/format/biome.json +10 -0
  702. pforge/freezer/DllDependenciesCommon.py +221 -0
  703. pforge/freezer/DllDependenciesMacOS.py +642 -0
  704. pforge/freezer/DllDependenciesPosix.py +256 -0
  705. pforge/freezer/DllDependenciesWin32.py +683 -0
  706. pforge/freezer/DllDependenciesWin32DependsExe.py +331 -0
  707. pforge/freezer/DllDependenciesWin32PEFile.py +130 -0
  708. pforge/freezer/DllDependenciesWin32WinDepends.py +329 -0
  709. pforge/freezer/ImportDetection.py +367 -0
  710. pforge/freezer/IncludedDataFiles.py +1319 -0
  711. pforge/freezer/IncludedEntryPoints.py +568 -0
  712. pforge/freezer/LinuxApp.py +256 -0
  713. pforge/freezer/MacOSApp.py +270 -0
  714. pforge/freezer/Onefile.py +364 -0
  715. pforge/freezer/Standalone.py +845 -0
  716. pforge/freezer/__init__.py +22 -0
  717. pforge/importing/FakeModules.py +117 -0
  718. pforge/importing/IgnoreListing.py +449 -0
  719. pforge/importing/ImportCache.py +98 -0
  720. pforge/importing/ImportResolving.py +187 -0
  721. pforge/importing/Importing.py +1729 -0
  722. pforge/importing/ImportingResults.py +48 -0
  723. pforge/importing/PreloadedPackages.py +169 -0
  724. pforge/importing/Recursion.py +881 -0
  725. pforge/importing/StandardLibrary.py +459 -0
  726. pforge/importing/__init__.py +22 -0
  727. pforge/installer/Installer.py +147 -0
  728. pforge/installer/LinuxInstaller.py +137 -0
  729. pforge/installer/MacOSDmg.py +197 -0
  730. pforge/installer/WindowsInstaller.py +162 -0
  731. pforge/installer/__init__.py +22 -0
  732. pforge/installer/backends/AppImageBackend.py +261 -0
  733. pforge/installer/backends/NsisBackend.py +522 -0
  734. pforge/installer/backends/NsisTemplate.nsi +105 -0
  735. pforge/installer/backends/__init__.py +26 -0
  736. pforge/nodes/AsyncgenNodes.py +89 -0
  737. pforge/nodes/AttributeLookupNodes.py +127 -0
  738. pforge/nodes/AttributeNodes.py +400 -0
  739. pforge/nodes/AttributeNodesGenerated.py +10978 -0
  740. pforge/nodes/BuiltinAllNodes.py +116 -0
  741. pforge/nodes/BuiltinAnyNodes.py +125 -0
  742. pforge/nodes/BuiltinComplexNodes.py +92 -0
  743. pforge/nodes/BuiltinDecodingNodes.py +55 -0
  744. pforge/nodes/BuiltinDecoratorNodes.py +92 -0
  745. pforge/nodes/BuiltinDictNodes.py +231 -0
  746. pforge/nodes/BuiltinFormatNodes.py +165 -0
  747. pforge/nodes/BuiltinHashNodes.py +70 -0
  748. pforge/nodes/BuiltinInputNodes.py +46 -0
  749. pforge/nodes/BuiltinIntegerNodes.py +194 -0
  750. pforge/nodes/BuiltinIteratorNodes.py +743 -0
  751. pforge/nodes/BuiltinLenNodes.py +64 -0
  752. pforge/nodes/BuiltinNextNodes.py +118 -0
  753. pforge/nodes/BuiltinOpenNodes.py +103 -0
  754. pforge/nodes/BuiltinOperationNodeBasesGenerated.py +7382 -0
  755. pforge/nodes/BuiltinRangeNodes.py +701 -0
  756. pforge/nodes/BuiltinRefNodes.py +328 -0
  757. pforge/nodes/BuiltinSumNodes.py +111 -0
  758. pforge/nodes/BuiltinTemplateNodes.py +74 -0
  759. pforge/nodes/BuiltinTypeNodes.py +491 -0
  760. pforge/nodes/BuiltinVarsNodes.py +51 -0
  761. pforge/nodes/BytesNodes.py +830 -0
  762. pforge/nodes/CallNodes.py +220 -0
  763. pforge/nodes/Checkers.py +58 -0
  764. pforge/nodes/ChildrenHavingMixins.py +24956 -0
  765. pforge/nodes/ClassNodes.py +581 -0
  766. pforge/nodes/CodeObjectSpecs.py +518 -0
  767. pforge/nodes/ComparisonNodes.py +691 -0
  768. pforge/nodes/ConditionalNodes.py +946 -0
  769. pforge/nodes/ConstantRefNodes.py +1894 -0
  770. pforge/nodes/ContainerMakingNodes.py +412 -0
  771. pforge/nodes/ContainerOperationNodes.py +97 -0
  772. pforge/nodes/CoroutineNodes.py +126 -0
  773. pforge/nodes/CtypesNodes.py +52 -0
  774. pforge/nodes/DictionaryNodes.py +1571 -0
  775. pforge/nodes/ExceptionNodes.py +467 -0
  776. pforge/nodes/ExecEvalNodes.py +246 -0
  777. pforge/nodes/ExpressionBases.py +1356 -0
  778. pforge/nodes/ExpressionBasesGenerated.py +3183 -0
  779. pforge/nodes/ExpressionShapeMixins.py +965 -0
  780. pforge/nodes/FrameNodes.py +516 -0
  781. pforge/nodes/FunctionAttributeNodes.py +105 -0
  782. pforge/nodes/FunctionNodes.py +1347 -0
  783. pforge/nodes/FutureSpecs.py +227 -0
  784. pforge/nodes/GeneratorNodes.py +204 -0
  785. pforge/nodes/GlobalsLocalsNodes.py +226 -0
  786. pforge/nodes/HardImportNodes.py +52 -0
  787. pforge/nodes/HardImportNodesGenerated.py +5059 -0
  788. pforge/nodes/ImportHardNodes.py +193 -0
  789. pforge/nodes/ImportNodes.py +1542 -0
  790. pforge/nodes/IndicatorMixins.py +82 -0
  791. pforge/nodes/IterationHandles.py +412 -0
  792. pforge/nodes/KeyValuePairNodes.py +381 -0
  793. pforge/nodes/ListOperationNodes.py +534 -0
  794. pforge/nodes/LocalsDictNodes.py +778 -0
  795. pforge/nodes/LocalsScopes.py +539 -0
  796. pforge/nodes/LoopNodes.py +605 -0
  797. pforge/nodes/MatchNodes.py +63 -0
  798. pforge/nodes/ModuleAttributeNodes.py +209 -0
  799. pforge/nodes/ModuleNodes.py +1233 -0
  800. pforge/nodes/NetworkxNodes.py +46 -0
  801. pforge/nodes/NodeBases.py +957 -0
  802. pforge/nodes/NodeMakingHelpers.py +500 -0
  803. pforge/nodes/NodeMetaClasses.py +171 -0
  804. pforge/nodes/OperatorNodes.py +1094 -0
  805. pforge/nodes/OperatorNodesUnary.py +406 -0
  806. pforge/nodes/OsSysNodes.py +344 -0
  807. pforge/nodes/OutlineNodes.py +504 -0
  808. pforge/nodes/PackageMetadataNodes.py +999 -0
  809. pforge/nodes/PackageResourceNodes.py +566 -0
  810. pforge/nodes/PrintNodes.py +178 -0
  811. pforge/nodes/ReturnNodes.py +258 -0
  812. pforge/nodes/RuntimePathNodes.py +44 -0
  813. pforge/nodes/SideEffectNodes.py +142 -0
  814. pforge/nodes/SliceNodes.py +401 -0
  815. pforge/nodes/StatementBasesGenerated.py +3896 -0
  816. pforge/nodes/StatementNodes.py +299 -0
  817. pforge/nodes/StrNodes.py +989 -0
  818. pforge/nodes/StringConcatenationNodes.py +130 -0
  819. pforge/nodes/SubscriptNodes.py +248 -0
  820. pforge/nodes/TensorflowNodes.py +39 -0
  821. pforge/nodes/TryNodes.py +523 -0
  822. pforge/nodes/TypeMatchNodes.py +68 -0
  823. pforge/nodes/TypeNodes.py +450 -0
  824. pforge/nodes/VariableAssignNodes.py +1256 -0
  825. pforge/nodes/VariableDelNodes.py +364 -0
  826. pforge/nodes/VariableNameNodes.py +156 -0
  827. pforge/nodes/VariableRefNodes.py +886 -0
  828. pforge/nodes/VariableReleaseNodes.py +179 -0
  829. pforge/nodes/YieldNodes.py +124 -0
  830. pforge/nodes/__init__.py +22 -0
  831. pforge/nodes/shapes/BuiltinTypeShapes.py +4461 -0
  832. pforge/nodes/shapes/ControlFlowDescriptions.py +224 -0
  833. pforge/nodes/shapes/IteratorShapes.py +70 -0
  834. pforge/nodes/shapes/ShapeMixins.py +272 -0
  835. pforge/nodes/shapes/StandardShapes.py +1417 -0
  836. pforge/nodes/shapes/__init__.py +22 -0
  837. pforge/optimizations/BytecodeDemotion.py +103 -0
  838. pforge/optimizations/FunctionInlining.py +113 -0
  839. pforge/optimizations/Graphs.py +73 -0
  840. pforge/optimizations/Optimization.py +429 -0
  841. pforge/optimizations/OptimizeBuiltinCalls.py +1668 -0
  842. pforge/optimizations/Tags.py +86 -0
  843. pforge/optimizations/TraceCollections.py +1523 -0
  844. pforge/optimizations/__init__.py +22 -0
  845. pforge/optimizations/bench_startup.py +62 -0
  846. pforge/optimizations/bench_tags.py +55 -0
  847. pforge/optimizations/value_traces/ValueTraces.py +61 -0
  848. pforge/optimizations/value_traces/ValueTracesGenerated.py +1920 -0
  849. pforge/optimizations/value_traces/ValueTracesStatic.py +1596 -0
  850. pforge/optimizations/value_traces/__init__.py +22 -0
  851. pforge/options/BuildPackage.py +193 -0
  852. pforge/options/BuildPackageCommon.py +109 -0
  853. pforge/options/CommandLineOptionsTools.py +359 -0
  854. pforge/options/OptionParsing.py +3385 -0
  855. pforge/options/Options.py +3736 -0
  856. pforge/options/PathSpecs.py +246 -0
  857. pforge/options/Poetry.py +96 -0
  858. pforge/options/UvBuild.py +159 -0
  859. pforge/options/__init__.py +22 -0
  860. pforge/package_config/__init__.py +22 -0
  861. pforge/pgo/Pgo.py +865 -0
  862. pforge/pgo/PgoFormat.py +240 -0
  863. pforge/pgo/__init__.py +22 -0
  864. pforge/plugins/Hooks.py +437 -0
  865. pforge/plugins/PluginBase.py +2267 -0
  866. pforge/plugins/Plugins.py +2681 -0
  867. pforge/plugins/PluginsUsage.py +72 -0
  868. pforge/plugins/YamlPluginBase.py +132 -0
  869. pforge/plugins/__init__.py +22 -0
  870. pforge/plugins/standard/AntiBloatPlugin.py +1134 -0
  871. pforge/plugins/standard/ConsiderPyLintAnnotationsPlugin.py +97 -0
  872. pforge/plugins/standard/DataFilesPlugin.py +347 -0
  873. pforge/plugins/standard/DelvewheelPlugin.py +161 -0
  874. pforge/plugins/standard/DillPlugin/DillPlugin.c +40 -0
  875. pforge/plugins/standard/DillPlugin/cloudpickle-postLoad.py +69 -0
  876. pforge/plugins/standard/DillPlugin/dill-postLoad.py +228 -0
  877. pforge/plugins/standard/DillPlugin.py +152 -0
  878. pforge/plugins/standard/DllFilesPlugin.py +564 -0
  879. pforge/plugins/standard/EnumPlugin.py +67 -0
  880. pforge/plugins/standard/EventletPlugin.py +37 -0
  881. pforge/plugins/standard/GeventPlugin.py +66 -0
  882. pforge/plugins/standard/GiPlugin.py +278 -0
  883. pforge/plugins/standard/GlfwPlugin.py +179 -0
  884. pforge/plugins/standard/ImplicitImports.py +1023 -0
  885. pforge/plugins/standard/KivyPlugin.py +143 -0
  886. pforge/plugins/standard/MatplotlibPlugin.py +260 -0
  887. pforge/plugins/standard/MultiprocessingPlugin.py +372 -0
  888. pforge/plugins/standard/NumbaPlugin.py +110 -0
  889. pforge/plugins/standard/NumpyPlugin.py +37 -0
  890. pforge/plugins/standard/OptionsNannyPlugin.py +145 -0
  891. pforge/plugins/standard/PbrPlugin.py +65 -0
  892. pforge/plugins/standard/PkgResourcesPlugin.py +171 -0
  893. pforge/plugins/standard/PlaywrightPlugin.py +181 -0
  894. pforge/plugins/standard/PmwPlugin.py +249 -0
  895. pforge/plugins/standard/PySidePyQtPlugin.py +1830 -0
  896. pforge/plugins/standard/PywebViewPlugin.py +85 -0
  897. pforge/plugins/standard/SourceInclusionPlugin.py +671 -0
  898. pforge/plugins/standard/SpacyPlugin.py +138 -0
  899. pforge/plugins/standard/TensorflowPlugin.py +37 -0
  900. pforge/plugins/standard/TkinterPlugin.py +636 -0
  901. pforge/plugins/standard/TorchHubPlugin.py +521 -0
  902. pforge/plugins/standard/TorchJitPlugin.py +236 -0
  903. pforge/plugins/standard/TorchPlugin.py +37 -0
  904. pforge/plugins/standard/TransformersPlugin.py +333 -0
  905. pforge/plugins/standard/TrioPlugin.py +35 -0
  906. pforge/plugins/standard/UpxPlugin.py +191 -0
  907. pforge/plugins/standard/__init__.py +22 -0
  908. pforge/plugins/standard/standard.pforge-package.config.yml +10867 -0
  909. pforge/plugins/standard/stdlib.pforge-package.config.yml +410 -0
  910. pforge/plugins/standard/stdlib2.pforge-package.config.yml +72 -0
  911. pforge/plugins/standard/stdlib3.pforge-package.config.yml +100 -0
  912. pforge/reports/CompilationReportReader.py +134 -0
  913. pforge/reports/LicenseReport.rst.j2 +44 -0
  914. pforge/reports/Reports.py +1560 -0
  915. pforge/reports/__init__.py +22 -0
  916. pforge/specs/BuiltinBytesOperationSpecs.py +196 -0
  917. pforge/specs/BuiltinDictOperationSpecs.py +96 -0
  918. pforge/specs/BuiltinListOperationSpecs.py +83 -0
  919. pforge/specs/BuiltinParameterSpecs.py +953 -0
  920. pforge/specs/BuiltinStrOperationSpecs.py +215 -0
  921. pforge/specs/BuiltinTypeOperationSpecs.py +37 -0
  922. pforge/specs/BuiltinUnicodeOperationSpecs.py +132 -0
  923. pforge/specs/HardImportSpecs.py +275 -0
  924. pforge/specs/ParameterSpecs.py +683 -0
  925. pforge/specs/__init__.py +22 -0
  926. pforge/targets/TargetLinux.py +278 -0
  927. pforge/targets/TargetMatrix.py +415 -0
  928. pforge/targets/TargetNative.py +132 -0
  929. pforge/targets/TargetPython.py +914 -0
  930. pforge/targets/TargetWASI.py +124 -0
  931. pforge/targets/TargetWin32.py +304 -0
  932. pforge/targets/Targets.py +378 -0
  933. pforge/targets/__init__.py +22 -0
  934. pforge/tools/Basics.py +60 -0
  935. pforge/tools/__init__.py +22 -0
  936. pforge/tools/commercial/__init__.py +22 -0
  937. pforge/tools/data_composer/DataComposer.py +764 -0
  938. pforge/tools/data_composer/__init__.py +22 -0
  939. pforge/tools/data_composer/__main__.py +42 -0
  940. pforge/tools/environments/CreateEnvironment.py +72 -0
  941. pforge/tools/environments/Virtualenv.py +219 -0
  942. pforge/tools/environments/__init__.py +22 -0
  943. pforge/tools/general/__init__.py +22 -0
  944. pforge/tools/general/dll_report/__init__.py +22 -0
  945. pforge/tools/general/dll_report/__main__.py +87 -0
  946. pforge/tools/general/extract_poetry_config/__init__.py +22 -0
  947. pforge/tools/general/extract_poetry_config/__main__.py +144 -0
  948. pforge/tools/general/extract_uv_config/__init__.py +24 -0
  949. pforge/tools/general/extract_uv_config/__main__.py +202 -0
  950. pforge/tools/general/find_module/FindModuleCode.py +127 -0
  951. pforge/tools/general/find_module/__init__.py +22 -0
  952. pforge/tools/general/generate_header/GenerateHeader.py +168 -0
  953. pforge/tools/general/generate_header/GenerateOffsets.py +395 -0
  954. pforge/tools/general/generate_header/__init__.py +22 -0
  955. pforge/tools/onefile_compressor/OnefileCompressor.py +535 -0
  956. pforge/tools/onefile_compressor/__init__.py +22 -0
  957. pforge/tools/onefile_compressor/__main__.py +42 -0
  958. pforge/tools/podman/Container.py +850 -0
  959. pforge/tools/podman/Podman.py +58 -0
  960. pforge/tools/podman/__init__.py +22 -0
  961. pforge/tools/podman/__main__.py +173 -0
  962. pforge/tools/podman/containers/CI.containerfile +69 -0
  963. pforge/tools/podman/containers/Python-Minor-Versions.containerfile.j2 +39 -0
  964. pforge/tools/profiler/__init__.py +22 -0
  965. pforge/tools/profiler/__main__.py +96 -0
  966. pforge/tools/scanning/DisplayDistributions.py +60 -0
  967. pforge/tools/scanning/DisplayPackageDLLs.py +159 -0
  968. pforge/tools/scanning/DisplayPackageData.py +78 -0
  969. pforge/tools/scanning/__init__.py +22 -0
  970. pforge/tools/specialize/CTypeDescriptions.py +1931 -0
  971. pforge/tools/specialize/Common.py +454 -0
  972. pforge/tools/specialize/SpecializeC.py +1896 -0
  973. pforge/tools/specialize/SpecializePython.py +1356 -0
  974. pforge/tools/specialize/__init__.py +22 -0
  975. pforge/tools/testing/Common.py +2190 -0
  976. pforge/tools/testing/Constructs.py +54 -0
  977. pforge/tools/testing/Coverage.py +197 -0
  978. pforge/tools/testing/DocTests.py +159 -0
  979. pforge/tools/testing/OutputComparison.py +492 -0
  980. pforge/tools/testing/Pythons.py +37 -0
  981. pforge/tools/testing/RuntimeTracing.py +296 -0
  982. pforge/tools/testing/SearchModes.py +292 -0
  983. pforge/tools/testing/Valgrind.py +106 -0
  984. pforge/tools/testing/__init__.py +22 -0
  985. pforge/tools/testing/check_reference_counts/__init__.py +22 -0
  986. pforge/tools/testing/check_reference_counts/__main__.py +108 -0
  987. pforge/tools/testing/compare_with_cpython/__init__.py +22 -0
  988. pforge/tools/testing/compare_with_cpython/__main__.py +1107 -0
  989. pforge/tools/testing/find_sxs_modules/__init__.py +22 -0
  990. pforge/tools/testing/find_sxs_modules/__main__.py +74 -0
  991. pforge/tools/testing/measure_construct_performance/__init__.py +22 -0
  992. pforge/tools/testing/measure_construct_performance/__main__.py +291 -0
  993. pforge/tools/testing/run_pforge_tests/__init__.py +22 -0
  994. pforge/tools/testing/run_pforge_tests/__main__.py +1146 -0
  995. pforge/tools/watch/AutoStage.py +462 -0
  996. pforge/tools/watch/Common.py +54 -0
  997. pforge/tools/watch/Conda.py +128 -0
  998. pforge/tools/watch/GitHub.py +116 -0
  999. pforge/tools/watch/Pacman.py +76 -0
  1000. pforge/tools/watch/Pipenv.py +165 -0
  1001. pforge/tools/watch/__init__.py +22 -0
  1002. pforge/tools/watch/__main__.py +727 -0
  1003. pforge/tree/Building.py +1595 -0
  1004. pforge/tree/ComplexCallHelperFunctions.py +2279 -0
  1005. pforge/tree/Extractions.py +75 -0
  1006. pforge/tree/FutureSpecState.py +76 -0
  1007. pforge/tree/InternalModule.py +99 -0
  1008. pforge/tree/Operations.py +108 -0
  1009. pforge/tree/ReformulationAssertStatements.py +110 -0
  1010. pforge/tree/ReformulationAssignmentStatements.py +1513 -0
  1011. pforge/tree/ReformulationBooleanExpressions.py +100 -0
  1012. pforge/tree/ReformulationCallExpressions.py +336 -0
  1013. pforge/tree/ReformulationClasses.py +403 -0
  1014. pforge/tree/ReformulationClasses3.py +1519 -0
  1015. pforge/tree/ReformulationComparisonExpressions.py +177 -0
  1016. pforge/tree/ReformulationContractionExpressions.py +809 -0
  1017. pforge/tree/ReformulationDictionaryCreation.py +308 -0
  1018. pforge/tree/ReformulationExecStatements.py +387 -0
  1019. pforge/tree/ReformulationForLoopStatements.py +218 -0
  1020. pforge/tree/ReformulationFunctionStatements.py +1306 -0
  1021. pforge/tree/ReformulationImportStatements.py +350 -0
  1022. pforge/tree/ReformulationLambdaExpressions.py +196 -0
  1023. pforge/tree/ReformulationMatchStatements.py +902 -0
  1024. pforge/tree/ReformulationMultidist.py +83 -0
  1025. pforge/tree/ReformulationNamespacePackages.py +264 -0
  1026. pforge/tree/ReformulationPrintStatements.py +130 -0
  1027. pforge/tree/ReformulationSequenceCreation.py +443 -0
  1028. pforge/tree/ReformulationSubscriptExpressions.py +126 -0
  1029. pforge/tree/ReformulationTryExceptStatements.py +720 -0
  1030. pforge/tree/ReformulationTryFinallyStatements.py +244 -0
  1031. pforge/tree/ReformulationWhileLoopStatements.py +162 -0
  1032. pforge/tree/ReformulationWithStatements.py +394 -0
  1033. pforge/tree/ReformulationYieldExpressions.py +136 -0
  1034. pforge/tree/SourceHandling.py +522 -0
  1035. pforge/tree/SyntaxErrors.py +245 -0
  1036. pforge/tree/TreeHelpers.py +759 -0
  1037. pforge/tree/VariableClosure.py +554 -0
  1038. pforge/tree/__init__.py +22 -0
  1039. pforge/utils/AppDirs.py +148 -0
  1040. pforge/utils/CStrings.py +208 -0
  1041. pforge/utils/Diffs.py +192 -0
  1042. pforge/utils/Distributions.py +901 -0
  1043. pforge/utils/Download.py +466 -0
  1044. pforge/utils/Execution.py +1154 -0
  1045. pforge/utils/FileOperations.py +2481 -0
  1046. pforge/utils/Hashing.py +159 -0
  1047. pforge/utils/Images.py +75 -0
  1048. pforge/utils/Importing.py +392 -0
  1049. pforge/utils/InlineCopies.py +132 -0
  1050. pforge/utils/InstalledPythons.py +281 -0
  1051. pforge/utils/InstanceCounters.py +89 -0
  1052. pforge/utils/Jinja2.py +195 -0
  1053. pforge/utils/Json.py +96 -0
  1054. pforge/utils/LinuxPython.py +365 -0
  1055. pforge/utils/MemoryUsage.py +166 -0
  1056. pforge/utils/ModuleNames.py +384 -0
  1057. pforge/utils/PackageResources.py +67 -0
  1058. pforge/utils/PrivatePipSpace.py +1317 -0
  1059. pforge/utils/Profiling.py +243 -0
  1060. pforge/utils/PythonPrefetch.py +391 -0
  1061. pforge/utils/ReExecute.py +120 -0
  1062. pforge/utils/Rest.py +63 -0
  1063. pforge/utils/SharedLibraries.py +1623 -0
  1064. pforge/utils/Shebang.py +114 -0
  1065. pforge/utils/Signing.py +500 -0
  1066. pforge/utils/SlotMetaClasses.py +60 -0
  1067. pforge/utils/StaticLibraries.py +422 -0
  1068. pforge/utils/ThreadedExecutor.py +90 -0
  1069. pforge/utils/Timing.py +201 -0
  1070. pforge/utils/Toml.py +65 -0
  1071. pforge/utils/Utils.py +643 -0
  1072. pforge/utils/WasiPython.py +428 -0
  1073. pforge/utils/WasiSDK.py +226 -0
  1074. pforge/utils/Wasmtime.py +178 -0
  1075. pforge/utils/WindowsFileUsage.py +338 -0
  1076. pforge/utils/WindowsResources.py +659 -0
  1077. pforge/utils/Yaml.py +1143 -0
  1078. pforge/utils/Zipfiles.py +131 -0
  1079. pforge/utils/__init__.py +22 -0
  1080. pforge/utils/requirements-private.txt +26 -0
  1081. pforge-1.0.0.data/scripts/compile-python-for-pforge-linux.sh +232 -0
  1082. pforge-1.0.0.dist-info/METADATA +2228 -0
  1083. pforge-1.0.0.dist-info/RECORD +1090 -0
  1084. pforge-1.0.0.dist-info/WHEEL +5 -0
  1085. pforge-1.0.0.dist-info/entry_points.txt +11 -0
  1086. pforge-1.0.0.dist-info/licenses/LICENSE-RUNTIME.txt +57 -0
  1087. pforge-1.0.0.dist-info/licenses/LICENSE.txt +661 -0
  1088. pforge-1.0.0.dist-info/licenses/NOTICE.txt +11 -0
  1089. pforge-1.0.0.dist-info/top_level.txt +1 -0
  1090. pforge-1.0.0.dist-info/zip-safe +1 -0
@@ -0,0 +1,116 @@
1
+ # Copyright 2020, Batakrishna Sahu, mailto:<Batakrishna.Sahu@suiit.ac.in> find license text at end of file
2
+
3
+
4
+ """Node for the calls to the 'all' built-in."""
5
+
6
+ from pforge.specs import BuiltinParameterSpecs
7
+
8
+ from .ExpressionBases import ExpressionBuiltinSingleArgBase
9
+ from .ExpressionShapeMixins import ExpressionBoolShapeExactMixin
10
+ from .NodeMakingHelpers import (
11
+ makeConstantReplacementNode,
12
+ makeRaiseTypeErrorExceptionReplacementFromTemplateAndValue,
13
+ wrapExpressionWithNodeSideEffects,
14
+ )
15
+ from .shapes.BuiltinTypeShapes import tshape_str, tshape_unicode
16
+
17
+
18
+ class ExpressionBuiltinAll(
19
+ ExpressionBoolShapeExactMixin, ExpressionBuiltinSingleArgBase
20
+ ):
21
+ """Builtin All Node class.
22
+
23
+ Args:
24
+ ExpressionBase: 'all - expression'
25
+
26
+ Returns:
27
+ Node that represents built-in 'all' call.
28
+
29
+ """
30
+
31
+ kind = "EXPRESSION_BUILTIN_ALL"
32
+
33
+ builtin_spec = BuiltinParameterSpecs.builtin_all_spec
34
+
35
+ def computeExpression(self, trace_collection):
36
+ value = self.subnode_value
37
+ shape = value.getTypeShape()
38
+ if shape.hasShapeSlotIter() is False:
39
+ # An exception is raised.
40
+ trace_collection.onExceptionRaiseExit(BaseException)
41
+
42
+ return makeRaiseTypeErrorExceptionReplacementFromTemplateAndValue(
43
+ template="'%s' object is not iterable",
44
+ operation="all",
45
+ original_node=value,
46
+ value_node=value,
47
+ )
48
+
49
+ if shape in (tshape_str, tshape_unicode):
50
+ return (
51
+ wrapExpressionWithNodeSideEffects(
52
+ new_node=makeConstantReplacementNode(
53
+ constant=True, node=self, user_provided=False
54
+ ),
55
+ old_node=value,
56
+ ),
57
+ "new_constant",
58
+ "Predicted truth value of built-in 'all' string type argument",
59
+ )
60
+
61
+ iteration_handle = value.getIterationHandle()
62
+
63
+ if iteration_handle is not None:
64
+ all_true = iteration_handle.getAllElementTruthValue()
65
+
66
+ if all_true is not None:
67
+ result = wrapExpressionWithNodeSideEffects(
68
+ new_node=makeConstantReplacementNode(
69
+ constant=all_true, node=self, user_provided=False
70
+ ),
71
+ old_node=value,
72
+ )
73
+
74
+ return (
75
+ result,
76
+ "new_constant",
77
+ "Predicted truth value of built-in 'all' argument",
78
+ )
79
+
80
+ self.onContentEscapes(trace_collection)
81
+
82
+ # All code could be run, note that.
83
+ trace_collection.onControlFlowEscape(self)
84
+
85
+ # All exception may be raised.
86
+ trace_collection.onExceptionRaiseExit(BaseException)
87
+
88
+ return self, None, None
89
+
90
+ def mayRaiseException(self, exception_type):
91
+ """returns boolean True if try/except/finally is needed else False"""
92
+ value = self.subnode_value
93
+
94
+ if value.mayRaiseException(exception_type):
95
+ return True
96
+
97
+ return not value.getTypeShape().hasShapeSlotIter()
98
+
99
+
100
+ # Part of "Pforge", an optimizing Python compiler that is compatible and
101
+ # integrates with CPython, but also works on its own.
102
+ #
103
+ # Licensed under the GNU Affero General Public License, Version 3 (the "License");
104
+ # you may not use this file except in compliance with the License.
105
+ # You may obtain a copy of the License at
106
+ #
107
+ # https://www.gnu.org/licenses/agpl-3.0.txt
108
+ #
109
+ # See also: "Pforge Runtime Library Exception, Version 1.0" in file
110
+ # "LICENSE-RUNTIME.txt" for additional permissions granted under Section 7.
111
+ #
112
+ # Unless required by applicable law or agreed to in writing, software
113
+ # distributed under the License is distributed on an "AS IS" BASIS,
114
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
115
+ # See the License for the specific language governing permissions and
116
+ # limitations under the License.
@@ -0,0 +1,125 @@
1
+ # Copyright 2020, Batakrishna Sahu, mailto:<Batakrishna.Sahu@suiit.ac.in> find license text at end of file
2
+
3
+
4
+ """Node for the calls to the 'any' built-in."""
5
+
6
+ from pforge.specs import BuiltinParameterSpecs
7
+
8
+ from .ExpressionBases import ExpressionBuiltinSingleArgBase
9
+ from .ExpressionShapeMixins import ExpressionBoolShapeExactMixin
10
+ from .NodeMakingHelpers import (
11
+ makeConstantReplacementNode,
12
+ makeRaiseTypeErrorExceptionReplacementFromTemplateAndValue,
13
+ wrapExpressionWithNodeSideEffects,
14
+ )
15
+
16
+
17
+ class ExpressionBuiltinAny(
18
+ ExpressionBoolShapeExactMixin, ExpressionBuiltinSingleArgBase
19
+ ):
20
+ """Builtin Any Node class.
21
+
22
+ Node that represents built-in 'any' call.
23
+
24
+ """
25
+
26
+ kind = "EXPRESSION_BUILTIN_ANY"
27
+
28
+ builtin_spec = BuiltinParameterSpecs.builtin_any_spec
29
+
30
+ def computeExpression(self, trace_collection):
31
+ value = self.subnode_value
32
+ shape = value.getTypeShape()
33
+ if shape.hasShapeSlotIter() is False:
34
+ # An exception is raised.
35
+ trace_collection.onExceptionRaiseExit(BaseException)
36
+
37
+ return makeRaiseTypeErrorExceptionReplacementFromTemplateAndValue(
38
+ template="'%s' object is not iterable",
39
+ operation="any",
40
+ original_node=value,
41
+ value_node=value,
42
+ )
43
+
44
+ iteration_handle = value.getIterationHandle()
45
+
46
+ if iteration_handle is not None:
47
+ all_false = True
48
+ count = 0
49
+ while True:
50
+ truth_value = iteration_handle.getNextValueTruth()
51
+ if truth_value is StopIteration:
52
+ break
53
+ if count > 256:
54
+ all_false = False
55
+ break
56
+
57
+ if truth_value is True:
58
+ result = wrapExpressionWithNodeSideEffects(
59
+ new_node=makeConstantReplacementNode(
60
+ constant=True, node=self, user_provided=False
61
+ ),
62
+ old_node=value,
63
+ )
64
+
65
+ return (
66
+ result,
67
+ "new_constant",
68
+ "Predicted truth value of built-in any argument",
69
+ )
70
+ elif truth_value is None:
71
+ all_false = False
72
+
73
+ count += 1
74
+
75
+ if all_false is True:
76
+ result = wrapExpressionWithNodeSideEffects(
77
+ new_node=makeConstantReplacementNode(
78
+ constant=False, node=self, user_provided=False
79
+ ),
80
+ old_node=value,
81
+ )
82
+
83
+ return (
84
+ result,
85
+ "new_constant",
86
+ "Predicted truth value of built-in any argument",
87
+ )
88
+
89
+ self.onContentEscapes(trace_collection)
90
+
91
+ # Any code could be run, note that.
92
+ trace_collection.onControlFlowEscape(self)
93
+
94
+ # Any exception may be raised.
95
+ trace_collection.onExceptionRaiseExit(BaseException)
96
+
97
+ return self, None, None
98
+
99
+ def mayRaiseException(self, exception_type):
100
+ """returns boolean True if exception is raised else False"""
101
+ value = self.subnode_value
102
+
103
+ if value.mayRaiseException(exception_type):
104
+ return True
105
+
106
+ return not value.getTypeShape().hasShapeSlotIter()
107
+
108
+
109
+ # Part of "Pforge", an optimizing Python compiler that is compatible and
110
+ # integrates with CPython, but also works on its own.
111
+ #
112
+ # Licensed under the GNU Affero General Public License, Version 3 (the "License");
113
+ # you may not use this file except in compliance with the License.
114
+ # You may obtain a copy of the License at
115
+ #
116
+ # https://www.gnu.org/licenses/agpl-3.0.txt
117
+ #
118
+ # See also: "Pforge Runtime Library Exception, Version 1.0" in file
119
+ # "LICENSE-RUNTIME.txt" for additional permissions granted under Section 7.
120
+ #
121
+ # Unless required by applicable law or agreed to in writing, software
122
+ # distributed under the License is distributed on an "AS IS" BASIS,
123
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
124
+ # See the License for the specific language governing permissions and
125
+ # limitations under the License.
@@ -0,0 +1,92 @@
1
+ # Copyright 2026, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
+
3
+
4
+ """Node for the calls to the 'complex' built-in."""
5
+
6
+ from pforge.specs import BuiltinParameterSpecs
7
+
8
+ from .ChildrenHavingMixins import (
9
+ ChildHavingValueMixin,
10
+ ChildrenHavingRealOptionalImagMixin,
11
+ )
12
+ from .ExpressionBases import (
13
+ ExpressionBase,
14
+ ExpressionSpecBasedComputationMixin,
15
+ )
16
+ from .ExpressionShapeMixins import ExpressionComplexShapeExactMixin
17
+
18
+
19
+ class ExpressionBuiltinComplex1(
20
+ ExpressionComplexShapeExactMixin, ChildHavingValueMixin, ExpressionBase
21
+ ):
22
+ kind = "EXPRESSION_BUILTIN_COMPLEX1"
23
+
24
+ named_children = ("value",)
25
+
26
+ @staticmethod
27
+ def isExpressionBuiltinCall():
28
+ return True
29
+
30
+ def __init__(self, value, source_ref):
31
+ ChildHavingValueMixin.__init__(self, value=value)
32
+
33
+ ExpressionBase.__init__(self, source_ref)
34
+
35
+ def computeExpression(self, trace_collection):
36
+ value = self.subnode_value
37
+
38
+ return value.computeExpressionComplex(
39
+ complex_node=self, trace_collection=trace_collection
40
+ )
41
+
42
+
43
+ class ExpressionBuiltinComplex2(
44
+ ExpressionSpecBasedComputationMixin,
45
+ ExpressionComplexShapeExactMixin,
46
+ ChildrenHavingRealOptionalImagMixin,
47
+ ExpressionBase,
48
+ ):
49
+ kind = "EXPRESSION_BUILTIN_COMPLEX2"
50
+
51
+ named_children = ("real|optional", "imag")
52
+
53
+ @staticmethod
54
+ def isExpressionBuiltinCall():
55
+ return True
56
+
57
+ builtin_spec = BuiltinParameterSpecs.builtin_complex_spec
58
+
59
+ def __init__(self, real, imag, source_ref):
60
+ ChildrenHavingRealOptionalImagMixin.__init__(
61
+ self,
62
+ real=real,
63
+ imag=imag,
64
+ )
65
+
66
+ ExpressionBase.__init__(self, source_ref)
67
+
68
+ def computeExpression(self, trace_collection):
69
+ given_values = self.subnode_real, self.subnode_imag
70
+
71
+ return self.computeBuiltinSpec(
72
+ trace_collection=trace_collection, given_values=given_values
73
+ )
74
+
75
+
76
+ # Part of "Pforge", an optimizing Python compiler that is compatible and
77
+ # integrates with CPython, but also works on its own.
78
+ #
79
+ # Licensed under the GNU Affero General Public License, Version 3 (the "License");
80
+ # you may not use this file except in compliance with the License.
81
+ # You may obtain a copy of the License at
82
+ #
83
+ # https://www.gnu.org/licenses/agpl-3.0.txt
84
+ #
85
+ # See also: "Pforge Runtime Library Exception, Version 1.0" in file
86
+ # "LICENSE-RUNTIME.txt" for additional permissions granted under Section 7.
87
+ #
88
+ # Unless required by applicable law or agreed to in writing, software
89
+ # distributed under the License is distributed on an "AS IS" BASIS,
90
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
91
+ # See the License for the specific language governing permissions and
92
+ # limitations under the License.
@@ -0,0 +1,55 @@
1
+ # Copyright 2026, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
+
3
+
4
+ """Built-in ord/chr nodes
5
+
6
+ These are good for optimizations, as they give a very well known result. In the case of
7
+ 'chr', it's one of 256 strings, and in case of 'ord' it's one of 256 numbers, so these can
8
+ answer quite a few questions at compile time.
9
+
10
+ """
11
+
12
+ from pforge.specs import BuiltinParameterSpecs
13
+
14
+ from .ExpressionBases import ExpressionBuiltinSingleArgBase
15
+
16
+
17
+ class ExpressionBuiltinOrd(ExpressionBuiltinSingleArgBase):
18
+ kind = "EXPRESSION_BUILTIN_ORD"
19
+
20
+ builtin_spec = BuiltinParameterSpecs.builtin_ord_spec
21
+
22
+ @staticmethod
23
+ def isKnownToBeIterable(count):
24
+ return False
25
+
26
+
27
+ class ExpressionBuiltinChr(ExpressionBuiltinSingleArgBase):
28
+ kind = "EXPRESSION_BUILTIN_CHR"
29
+
30
+ builtin_spec = BuiltinParameterSpecs.builtin_chr_spec
31
+
32
+ def isKnownToBeIterable(self, count):
33
+ if self.mayRaiseException(BaseException):
34
+ return None
35
+
36
+ return count is None or count == 1
37
+
38
+
39
+ # Part of "Pforge", an optimizing Python compiler that is compatible and
40
+ # integrates with CPython, but also works on its own.
41
+ #
42
+ # Licensed under the GNU Affero General Public License, Version 3 (the "License");
43
+ # you may not use this file except in compliance with the License.
44
+ # You may obtain a copy of the License at
45
+ #
46
+ # https://www.gnu.org/licenses/agpl-3.0.txt
47
+ #
48
+ # See also: "Pforge Runtime Library Exception, Version 1.0" in file
49
+ # "LICENSE-RUNTIME.txt" for additional permissions granted under Section 7.
50
+ #
51
+ # Unless required by applicable law or agreed to in writing, software
52
+ # distributed under the License is distributed on an "AS IS" BASIS,
53
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
54
+ # See the License for the specific language governing permissions and
55
+ # limitations under the License.
@@ -0,0 +1,92 @@
1
+ # Copyright 2026, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
+
3
+
4
+ """Built-in staticmethod/classmethod nodes
5
+
6
+ These are good for optimizations, as they give a very well known result, changing
7
+ only the way a class member is being called. Being able to avoid going through a
8
+ C call to the built-ins resulting wrapper, will speed up things.
9
+ """
10
+
11
+ from .ExpressionBasesGenerated import (
12
+ ExpressionBuiltinClassmethodBase,
13
+ ExpressionBuiltinStaticmethodBase,
14
+ )
15
+ from .shapes.BuiltinTypeShapes import tshape_classmethod, tshape_staticmethod
16
+
17
+
18
+ class BuiltinStaticmethodClassmethodMixin(object):
19
+ __slots__ = ()
20
+
21
+ @staticmethod
22
+ def isExpressionBuiltinCall():
23
+ return True
24
+
25
+ # There is nothing to compute for it as a value.
26
+ auto_compute_handling = "final,no_raise"
27
+
28
+ # TODO: Make it part of auto-compute through a the shape provided.
29
+ @staticmethod
30
+ def isKnownToBeIterable(count):
31
+ # pylint: disable=unused-argument
32
+ return False
33
+
34
+ @staticmethod
35
+ def isKnownToBeHashable():
36
+ return True
37
+
38
+ # TODO: should be automatic due to final
39
+ def mayRaiseException(self, exception_type):
40
+ return self.subnode_value.mayRaiseException(exception_type)
41
+
42
+ # TODO: should be a auto_compute property.
43
+ def mayHaveSideEffect(self):
44
+ return self.subnode_value.mayHaveSideEffect()
45
+
46
+ def extractSideEffects(self):
47
+ return self.subnode_value.extractSideEffects()
48
+
49
+
50
+ class ExpressionBuiltinStaticmethod(
51
+ BuiltinStaticmethodClassmethodMixin, ExpressionBuiltinStaticmethodBase
52
+ ):
53
+ kind = "EXPRESSION_BUILTIN_STATICMETHOD"
54
+
55
+ # TODO: Allow these to be in class classes instead.
56
+ named_children = ("value",)
57
+
58
+ @staticmethod
59
+ def getTypeShape():
60
+ return tshape_staticmethod
61
+
62
+
63
+ class ExpressionBuiltinClassmethod(
64
+ BuiltinStaticmethodClassmethodMixin, ExpressionBuiltinClassmethodBase
65
+ ):
66
+ kind = "EXPRESSION_BUILTIN_CLASSMETHOD"
67
+
68
+ # TODO: Allow these to be in mixin classes instead.
69
+ named_children = ("value",)
70
+
71
+ @staticmethod
72
+ def getTypeShape():
73
+ return tshape_classmethod
74
+
75
+
76
+ # Part of "Pforge", an optimizing Python compiler that is compatible and
77
+ # integrates with CPython, but also works on its own.
78
+ #
79
+ # Licensed under the GNU Affero General Public License, Version 3 (the "License");
80
+ # you may not use this file except in compliance with the License.
81
+ # You may obtain a copy of the License at
82
+ #
83
+ # https://www.gnu.org/licenses/agpl-3.0.txt
84
+ #
85
+ # See also: "Pforge Runtime Library Exception, Version 1.0" in file
86
+ # "LICENSE-RUNTIME.txt" for additional permissions granted under Section 7.
87
+ #
88
+ # Unless required by applicable law or agreed to in writing, software
89
+ # distributed under the License is distributed on an "AS IS" BASIS,
90
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
91
+ # See the License for the specific language governing permissions and
92
+ # limitations under the License.