tpy-lang 0.3.0.dev0__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 (333) hide show
  1. tpy_lang-0.3.0.dev0.dist-info/METADATA +151 -0
  2. tpy_lang-0.3.0.dev0.dist-info/RECORD +333 -0
  3. tpy_lang-0.3.0.dev0.dist-info/WHEEL +4 -0
  4. tpy_lang-0.3.0.dev0.dist-info/entry_points.txt +3 -0
  5. tpyc/__init__.py +104 -0
  6. tpyc/__main__.py +6 -0
  7. tpyc/_buildinfo.py +1 -0
  8. tpyc/_data/docs/LANGUAGE_FEATURES.md +6278 -0
  9. tpyc/_data/docs/STDLIB_ROADMAP.md +1258 -0
  10. tpyc/_data/docs/TPY_FOR_AGENTS.md +556 -0
  11. tpyc/_data/lib/tpy/_bindings/__init__.py +6 -0
  12. tpyc/_data/lib/tpy/_bindings/pcre2.py +173 -0
  13. tpyc/_data/lib/tpy/_bindings/posix_socket.py +161 -0
  14. tpyc/_data/lib/tpy/_functools_macros.py +80 -0
  15. tpyc/_data/lib/tpy/_macro_helpers.py +161 -0
  16. tpyc/_data/lib/tpy/argparse.py +2062 -0
  17. tpyc/_data/lib/tpy/asyncio/__init__.py +744 -0
  18. tpyc/_data/lib/tpy/asyncio/_executor.py +515 -0
  19. tpyc/_data/lib/tpy/base64.py +410 -0
  20. tpyc/_data/lib/tpy/bisect.py +39 -0
  21. tpyc/_data/lib/tpy/builtins.py +38 -0
  22. tpyc/_data/lib/tpy/dataclasses.py +354 -0
  23. tpyc/_data/lib/tpy/enum.py +23 -0
  24. tpyc/_data/lib/tpy/functools.py +33 -0
  25. tpyc/_data/lib/tpy/hashlib.py +206 -0
  26. tpyc/_data/lib/tpy/heapq.py +118 -0
  27. tpyc/_data/lib/tpy/io.py +395 -0
  28. tpyc/_data/lib/tpy/json.py +221 -0
  29. tpyc/_data/lib/tpy/math.py +406 -0
  30. tpyc/_data/lib/tpy/random.py +597 -0
  31. tpyc/_data/lib/tpy/re.py +467 -0
  32. tpyc/_data/lib/tpy/socket.py +379 -0
  33. tpyc/_data/lib/tpy/struct.py +178 -0
  34. tpyc/_data/lib/tpy/sys.py +40 -0
  35. tpyc/_data/lib/tpy/time.py +39 -0
  36. tpyc/_data/lib/tpy/tpy/__init__.py +78 -0
  37. tpyc/_data/lib/tpy/tpy/_bootstrap/__init__.py +10 -0
  38. tpyc/_data/lib/tpy/tpy/_bootstrap/_decorators.py +37 -0
  39. tpyc/_data/lib/tpy/tpy/_bootstrap/_extern.py +64 -0
  40. tpyc/_data/lib/tpy/tpy/_builtins/__init__.py +11 -0
  41. tpyc/_data/lib/tpy/tpy/_builtins/_bytes.py +378 -0
  42. tpyc/_data/lib/tpy/tpy/_builtins/_dict.py +151 -0
  43. tpyc/_data/lib/tpy/tpy/_builtins/_exceptions.py +125 -0
  44. tpyc/_data/lib/tpy/tpy/_builtins/_funcs.py +681 -0
  45. tpyc/_data/lib/tpy/tpy/_builtins/_io.py +97 -0
  46. tpyc/_data/lib/tpy/tpy/_builtins/_list.py +127 -0
  47. tpyc/_data/lib/tpy/tpy/_builtins/_range.py +52 -0
  48. tpyc/_data/lib/tpy/tpy/_builtins/_set.py +139 -0
  49. tpyc/_data/lib/tpy/tpy/_builtins/_super.py +11 -0
  50. tpyc/_data/lib/tpy/tpy/_builtins/_types.py +661 -0
  51. tpyc/_data/lib/tpy/tpy/_core/__init__.py +23 -0
  52. tpyc/_data/lib/tpy/tpy/_core/_bytes_view.py +129 -0
  53. tpyc/_data/lib/tpy/tpy/_core/_containers.py +137 -0
  54. tpyc/_data/lib/tpy/tpy/_core/_functions.py +40 -0
  55. tpyc/_data/lib/tpy/tpy/_core/_types.py +2061 -0
  56. tpyc/_data/lib/tpy/tpy/_typing/__init__.py +77 -0
  57. tpyc/_data/lib/tpy/tpy/_version.py +29 -0
  58. tpyc/_data/lib/tpy/tpy/bits.py +28 -0
  59. tpyc/_data/lib/tpy/tpy/coro/__init__.py +127 -0
  60. tpyc/_data/lib/tpy/tpy/extern.py +8 -0
  61. tpyc/_data/lib/tpy/tpy/mem.py +49 -0
  62. tpyc/_data/lib/tpy/tpy/unsafe.py +195 -0
  63. tpyc/_data/lib/tpy/tpy/version.py +21 -0
  64. tpyc/_data/lib/tpy/typing.py +13 -0
  65. tpyc/_data/runtime/cpp/include/tpy/any.hpp +461 -0
  66. tpyc/_data/runtime/cpp/include/tpy/as_ostream.hpp +117 -0
  67. tpyc/_data/runtime/cpp/include/tpy/async.hpp +76 -0
  68. tpyc/_data/runtime/cpp/include/tpy/bigint.hpp +1343 -0
  69. tpyc/_data/runtime/cpp/include/tpy/builtins.hpp +400 -0
  70. tpyc/_data/runtime/cpp/include/tpy/bytes_ops.hpp +469 -0
  71. tpyc/_data/runtime/cpp/include/tpy/container_ops.hpp +487 -0
  72. tpyc/_data/runtime/cpp/include/tpy/copy_iter.hpp +82 -0
  73. tpyc/_data/runtime/cpp/include/tpy/core.hpp +558 -0
  74. tpyc/_data/runtime/cpp/include/tpy/dict_ops.hpp +289 -0
  75. tpyc/_data/runtime/cpp/include/tpy/dunder.hpp +750 -0
  76. tpyc/_data/runtime/cpp/include/tpy/dynamic.hpp +44 -0
  77. tpyc/_data/runtime/cpp/include/tpy/enum.hpp +40 -0
  78. tpyc/_data/runtime/cpp/include/tpy/file.hpp +245 -0
  79. tpyc/_data/runtime/cpp/include/tpy/fixed_int.hpp +317 -0
  80. tpyc/_data/runtime/cpp/include/tpy/format.hpp +954 -0
  81. tpyc/_data/runtime/cpp/include/tpy/frame_slot.hpp +120 -0
  82. tpyc/_data/runtime/cpp/include/tpy/generator.hpp +47 -0
  83. tpyc/_data/runtime/cpp/include/tpy/iterable_ops.hpp +122 -0
  84. tpyc/_data/runtime/cpp/include/tpy/itertools.hpp +749 -0
  85. tpyc/_data/runtime/cpp/include/tpy/next_iter.hpp +82 -0
  86. tpyc/_data/runtime/cpp/include/tpy/ordered_map.hpp +518 -0
  87. tpyc/_data/runtime/cpp/include/tpy/ordered_set.hpp +337 -0
  88. tpyc/_data/runtime/cpp/include/tpy/own_iter.hpp +54 -0
  89. tpyc/_data/runtime/cpp/include/tpy/pascal_graph_sdl.hpp +192 -0
  90. tpyc/_data/runtime/cpp/include/tpy/printing.hpp +302 -0
  91. tpyc/_data/runtime/cpp/include/tpy/protocols.hpp +61 -0
  92. tpyc/_data/runtime/cpp/include/tpy/range.hpp +115 -0
  93. tpyc/_data/runtime/cpp/include/tpy/ranges.hpp +212 -0
  94. tpyc/_data/runtime/cpp/include/tpy/set_ops.hpp +265 -0
  95. tpyc/_data/runtime/cpp/include/tpy/slice.hpp +47 -0
  96. tpyc/_data/runtime/cpp/include/tpy/span_iter.hpp +42 -0
  97. tpyc/_data/runtime/cpp/include/tpy/stdlib/math.hpp +41 -0
  98. tpyc/_data/runtime/cpp/include/tpy/stdlib/pcre2_h.hpp +96 -0
  99. tpyc/_data/runtime/cpp/include/tpy/stdlib/random.hpp +25 -0
  100. tpyc/_data/runtime/cpp/include/tpy/stdlib/socket_h.hpp +145 -0
  101. tpyc/_data/runtime/cpp/include/tpy/stdlib/time.hpp +62 -0
  102. tpyc/_data/runtime/cpp/include/tpy/system.hpp +121 -0
  103. tpyc/_data/runtime/cpp/include/tpy/throwable.hpp +55 -0
  104. tpyc/_data/runtime/cpp/include/tpy/tpy.hpp +156 -0
  105. tpyc/_data/runtime/cpp/include/tpy/type_name.hpp +77 -0
  106. tpyc/_data/runtime/cpp/include/tpy/type_traits.hpp +240 -0
  107. tpyc/_data/runtime/cpp/include/tpy/uninit_array_storage.hpp +250 -0
  108. tpyc/_data/runtime/cpp/include/tpy/uninit_heap_storage.hpp +277 -0
  109. tpyc/_data/runtime/cpp/include/tpy/varargs.hpp +174 -0
  110. tpyc/_data/runtime/cpp/include/tpy/variant_ref.hpp +118 -0
  111. tpyc/_data/runtime/cpp/src/stdlib/socket_impl.cpp +104 -0
  112. tpyc/_data/runtime/cpp/third_party/README.md +58 -0
  113. tpyc/_data/runtime/cpp/third_party/pcre2/AUTHORS +36 -0
  114. tpyc/_data/runtime/cpp/third_party/pcre2/CMakeLists.txt +1233 -0
  115. tpyc/_data/runtime/cpp/third_party/pcre2/COPYING +5 -0
  116. tpyc/_data/runtime/cpp/third_party/pcre2/ChangeLog +3097 -0
  117. tpyc/_data/runtime/cpp/third_party/pcre2/HACKING +853 -0
  118. tpyc/_data/runtime/cpp/third_party/pcre2/INSTALL +368 -0
  119. tpyc/_data/runtime/cpp/third_party/pcre2/LICENCE +94 -0
  120. tpyc/_data/runtime/cpp/third_party/pcre2/NEWS +492 -0
  121. tpyc/_data/runtime/cpp/third_party/pcre2/NON-AUTOTOOLS-BUILD +430 -0
  122. tpyc/_data/runtime/cpp/third_party/pcre2/README +956 -0
  123. tpyc/_data/runtime/cpp/third_party/pcre2/cmake/COPYING-CMAKE-SCRIPTS +22 -0
  124. tpyc/_data/runtime/cpp/third_party/pcre2/cmake/FindEditline.cmake +16 -0
  125. tpyc/_data/runtime/cpp/third_party/pcre2/cmake/FindPackageHandleStandardArgs.cmake +58 -0
  126. tpyc/_data/runtime/cpp/third_party/pcre2/cmake/FindReadline.cmake +29 -0
  127. tpyc/_data/runtime/cpp/third_party/pcre2/cmake/pcre2-config-version.cmake.in +15 -0
  128. tpyc/_data/runtime/cpp/third_party/pcre2/cmake/pcre2-config.cmake.in +148 -0
  129. tpyc/_data/runtime/cpp/third_party/pcre2/config-cmake.h.in +56 -0
  130. tpyc/_data/runtime/cpp/third_party/pcre2/libpcre2-16.pc.in +13 -0
  131. tpyc/_data/runtime/cpp/third_party/pcre2/libpcre2-32.pc.in +13 -0
  132. tpyc/_data/runtime/cpp/third_party/pcre2/libpcre2-8.pc.in +13 -0
  133. tpyc/_data/runtime/cpp/third_party/pcre2/libpcre2-posix.pc.in +13 -0
  134. tpyc/_data/runtime/cpp/third_party/pcre2/pcre2-config.in +121 -0
  135. tpyc/_data/runtime/cpp/third_party/pcre2/src/config.h +483 -0
  136. tpyc/_data/runtime/cpp/third_party/pcre2/src/config.h.generic +483 -0
  137. tpyc/_data/runtime/cpp/third_party/pcre2/src/config.h.in +460 -0
  138. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2.h +1010 -0
  139. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2.h.generic +1010 -0
  140. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2.h.in +1010 -0
  141. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_auto_possess.c +1371 -0
  142. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_chartables.c +196 -0
  143. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_chartables.c.dist +196 -0
  144. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_chkdint.c +96 -0
  145. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_compile.c +11001 -0
  146. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_config.c +252 -0
  147. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_context.c +510 -0
  148. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_convert.c +1189 -0
  149. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_dfa_match.c +4119 -0
  150. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_dftables.c +297 -0
  151. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_error.c +345 -0
  152. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_extuni.c +162 -0
  153. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_find_bracket.c +219 -0
  154. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_fuzzsupport.c +792 -0
  155. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_internal.h +2084 -0
  156. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_intmodedep.h +940 -0
  157. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_jit_compile.c +14972 -0
  158. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_jit_match.c +200 -0
  159. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_jit_misc.c +234 -0
  160. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_jit_neon_inc.h +354 -0
  161. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_jit_simd_inc.h +2355 -0
  162. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_jit_test.c +2528 -0
  163. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_maketables.c +165 -0
  164. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_match.c +7777 -0
  165. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_match_data.c +185 -0
  166. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_newline.c +243 -0
  167. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_ord2utf.c +120 -0
  168. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_pattern_info.c +432 -0
  169. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_printint.c +886 -0
  170. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_script_run.c +344 -0
  171. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_serialize.c +286 -0
  172. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_string_utils.c +237 -0
  173. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_study.c +1915 -0
  174. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_substitute.c +1009 -0
  175. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_substring.c +550 -0
  176. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_tables.c +234 -0
  177. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_ucd.c +5460 -0
  178. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_ucp.h +396 -0
  179. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_ucptables.c +1533 -0
  180. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_valid_utf.c +398 -0
  181. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_xclass.c +308 -0
  182. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2demo.c +497 -0
  183. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2grep.c +4606 -0
  184. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2posix.c +425 -0
  185. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2posix.h +187 -0
  186. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2posix_test.c +209 -0
  187. tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2test.c +9708 -0
  188. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitExecAllocatorApple.c +137 -0
  189. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitExecAllocatorCore.c +327 -0
  190. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitExecAllocatorFreeBSD.c +89 -0
  191. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitExecAllocatorPosix.c +62 -0
  192. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitExecAllocatorWindows.c +40 -0
  193. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitProtExecAllocatorNetBSD.c +72 -0
  194. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitProtExecAllocatorPosix.c +172 -0
  195. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitWXExecAllocatorPosix.c +141 -0
  196. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitWXExecAllocatorWindows.c +102 -0
  197. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitConfig.h +142 -0
  198. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitConfigCPU.h +188 -0
  199. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitConfigInternal.h +907 -0
  200. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitLir.c +3561 -0
  201. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitLir.h +2466 -0
  202. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeARM_32.c +4636 -0
  203. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeARM_64.c +3491 -0
  204. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeARM_T2_32.c +4302 -0
  205. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeLOONGARCH_64.c +3765 -0
  206. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeMIPS_32.c +472 -0
  207. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeMIPS_64.c +387 -0
  208. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeMIPS_common.c +4259 -0
  209. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativePPC_32.c +485 -0
  210. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativePPC_64.c +719 -0
  211. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativePPC_common.c +3161 -0
  212. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeRISCV_32.c +142 -0
  213. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeRISCV_64.c +222 -0
  214. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeRISCV_common.c +3121 -0
  215. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeS390X.c +4526 -0
  216. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeX86_32.c +1685 -0
  217. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeX86_64.c +1398 -0
  218. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeX86_common.c +5001 -0
  219. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitSerialize.c +516 -0
  220. tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitUtils.c +344 -0
  221. tpyc/_data/runtime/cpp/third_party/pcre2.sources.txt +54 -0
  222. tpyc/_data/runtime/cpp/third_party/pcre2.vendor.json +7 -0
  223. tpyc/build/__init__.py +7 -0
  224. tpyc/build/pcre2.py +122 -0
  225. tpyc/build/third_party.py +413 -0
  226. tpyc/cli.py +822 -0
  227. tpyc/codegen_cpp/__init__.py +18 -0
  228. tpyc/codegen_cpp/builtins.py +484 -0
  229. tpyc/codegen_cpp/context.py +2064 -0
  230. tpyc/codegen_cpp/expressions.py +5940 -0
  231. tpyc/codegen_cpp/functions.py +1913 -0
  232. tpyc/codegen_cpp/gen_async.py +3258 -0
  233. tpyc/codegen_cpp/gen_generators.py +657 -0
  234. tpyc/codegen_cpp/generator.py +2258 -0
  235. tpyc/codegen_cpp/match.py +1997 -0
  236. tpyc/codegen_cpp/param_const.py +172 -0
  237. tpyc/codegen_cpp/protocols.py +907 -0
  238. tpyc/codegen_cpp/records.py +1654 -0
  239. tpyc/codegen_cpp/resumable_cfg.py +1651 -0
  240. tpyc/codegen_cpp/statements.py +4963 -0
  241. tpyc/codegen_cpp/string_dispatch.py +76 -0
  242. tpyc/codegen_cpp/test_context.py +46 -0
  243. tpyc/codegen_cpp/test_param_const.py +113 -0
  244. tpyc/codegen_cpp/test_resumable_cfg.py +182 -0
  245. tpyc/codegen_cpp/type_resolution.py +53 -0
  246. tpyc/codegen_cpp/types.py +436 -0
  247. tpyc/codegen_cpp/variant_access.py +135 -0
  248. tpyc/coercions.py +749 -0
  249. tpyc/compilation_context.py +57 -0
  250. tpyc/compiler.py +3945 -0
  251. tpyc/cycle_detection.py +358 -0
  252. tpyc/diagnostics.py +135 -0
  253. tpyc/dump_types.py +353 -0
  254. tpyc/frontend_diagnostics.py +47 -0
  255. tpyc/frontend_ir/__init__.py +140 -0
  256. tpyc/frontend_ir/lower.py +1098 -0
  257. tpyc/frontend_ir/nodes.py +718 -0
  258. tpyc/frontend_ir/resolver_adapter.py +151 -0
  259. tpyc/frontend_plugin.py +209 -0
  260. tpyc/install_docs.py +81 -0
  261. tpyc/liveness.py +756 -0
  262. tpyc/macro_api.py +1724 -0
  263. tpyc/macro_loader.py +497 -0
  264. tpyc/module_names.py +64 -0
  265. tpyc/modules/__init__.py +31 -0
  266. tpyc/modules/defs.py +89 -0
  267. tpyc/modules/registry.py +36 -0
  268. tpyc/modules/resolver.py +192 -0
  269. tpyc/modules/type_resolution.py +629 -0
  270. tpyc/namespace.py +172 -0
  271. tpyc/parse/__init__.py +84 -0
  272. tpyc/parse/imports.py +490 -0
  273. tpyc/parse/nodes.py +1732 -0
  274. tpyc/parse/parser.py +4043 -0
  275. tpyc/parse/resolve_refs.py +466 -0
  276. tpyc/parse/type_resolver.py +1060 -0
  277. tpyc/prescan.py +254 -0
  278. tpyc/qnames.py +149 -0
  279. tpyc/repl.py +529 -0
  280. tpyc/repl_backends.py +848 -0
  281. tpyc/sema/__init__.py +21 -0
  282. tpyc/sema/analyzer.py +3625 -0
  283. tpyc/sema/bound_check.py +72 -0
  284. tpyc/sema/builder_trace.py +684 -0
  285. tpyc/sema/calls.py +5406 -0
  286. tpyc/sema/compatibility.py +2107 -0
  287. tpyc/sema/context.py +1243 -0
  288. tpyc/sema/expressions.py +3737 -0
  289. tpyc/sema/flow_facts.py +199 -0
  290. tpyc/sema/init_tracker.py +150 -0
  291. tpyc/sema/list_literals.py +69 -0
  292. tpyc/sema/literal_utils.py +27 -0
  293. tpyc/sema/local_deduction.py +1088 -0
  294. tpyc/sema/macros.py +179 -0
  295. tpyc/sema/match.py +1177 -0
  296. tpyc/sema/method_expansion.py +347 -0
  297. tpyc/sema/methods.py +2197 -0
  298. tpyc/sema/mutation_propagation.py +268 -0
  299. tpyc/sema/narrowing.py +857 -0
  300. tpyc/sema/numeric_lattice.py +160 -0
  301. tpyc/sema/operators.py +402 -0
  302. tpyc/sema/overloads.py +841 -0
  303. tpyc/sema/protocols.py +1209 -0
  304. tpyc/sema/reach_analysis.py +202 -0
  305. tpyc/sema/registration.py +3156 -0
  306. tpyc/sema/scope_tracker.py +193 -0
  307. tpyc/sema/statements.py +4426 -0
  308. tpyc/sema/type_ops.py +1879 -0
  309. tpyc/sema/value_range.py +181 -0
  310. tpyc/symbol_binding.py +259 -0
  311. tpyc/test_c3_mro.py +208 -0
  312. tpyc/test_cli_argv.py +52 -0
  313. tpyc/test_compiler.py +559 -0
  314. tpyc/test_contains_type_param.py +101 -0
  315. tpyc/test_cycle_detection.py +221 -0
  316. tpyc/test_dump_types.py +225 -0
  317. tpyc/test_install_docs.py +65 -0
  318. tpyc/test_local_cpp_form.py +135 -0
  319. tpyc/test_macro_loader.py +76 -0
  320. tpyc/test_method_expansion.py +254 -0
  321. tpyc/test_nominal_identity.py +182 -0
  322. tpyc/test_overloads.py +410 -0
  323. tpyc/test_parse.py +303 -0
  324. tpyc/test_parse_type_ref.py +506 -0
  325. tpyc/test_parse_version_info.py +58 -0
  326. tpyc/test_reach_analysis.py +72 -0
  327. tpyc/test_ref_type.py +216 -0
  328. tpyc/test_send_sync_substitution.py +276 -0
  329. tpyc/test_tuple_mutation_propagation.py +206 -0
  330. tpyc/test_type_def_registry.py +1729 -0
  331. tpyc/test_union_types.py +195 -0
  332. tpyc/type_def_registry.py +975 -0
  333. tpyc/typesys.py +5104 -0
@@ -0,0 +1,151 @@
1
+ Metadata-Version: 2.4
2
+ Name: tpy-lang
3
+ Version: 0.3.0.dev0
4
+ Summary: TurboPython compiler - translates restricted Python-syntax to C++ for ultra-low-latency applications
5
+ Requires-Python: >=3.12
6
+ Provides-Extra: bundled
7
+ Requires-Dist: ziglang>=0.13; extra == 'bundled'
8
+ Description-Content-Type: text/markdown
9
+
10
+ # TurboPython (TPy)
11
+
12
+ A compiler that translates Python to C++.
13
+
14
+ **Goals:**
15
+
16
+ 1. **Performance** — Low-latency compiled output with opt-in constraints for hot paths (e.g. `@noalloc`). If the goals below conflict, performance wins.
17
+ 2. **Regular Python compatibility** — We aim to compile and run regular Python code whenever possible, with clear diagnostics when a feature is unsupported or when semantics differ from CPython.
18
+ 3. **Constrained C++ interop** — Easy integration with existing C/C++ code, but only through explicitly supported interop shapes and rules (not arbitrary native types/signatures).
19
+ 4. **Familiar syntax** — Keep the language readable for non-programmers and close to regular Python where possible.
20
+ 5. **Semantic transparency** — Warn when TurboPython behavior differs from CPython so differences are explicit during development.
21
+ 6. **Tooling-friendly** — Source files are valid Python, so existing IDEs, linters, type checkers, and LLMs work without special plugins.
22
+ 7. **Thread safety** — Unlike CPython (GIL), TurboPython targets multi-threaded, high-performance environments. The compiler should be thread-safe by default where possible without sacrificing performance, and give the user explicit control where trade-offs exist.
23
+
24
+ ## Example
25
+
26
+ Main differences from CPython:
27
+
28
+ - Type annotations required on functions (parameters + return) and class fields; local variables are inferred
29
+ - `Int32` for integer literals (overrideable), `Int32`/`Int64` for explicit fixed-width, `int` = `BigInt` for arbitrary precision
30
+ - Value types (`Int32`, `bool`, `str`, ...) are copied; reference types (classes, containers) are passed by reference to functions but stored inline in fields and containers. `Own[T]` transfers ownership (move) at function boundaries
31
+ - No GIL, no refcounting, no GC -- deterministic destruction via RAII
32
+
33
+ ```python
34
+ from tpy import Int32
35
+
36
+ def fib(n: Int32) -> Int32:
37
+ if n <= 1:
38
+ return n
39
+ return fib(n - 1) + fib(n - 2)
40
+
41
+ for i in range(40):
42
+ print(fib(i))
43
+ ```
44
+
45
+ ```bash
46
+ $ tpy -O fib.py # compile to C++ and run (optimized)
47
+ $ tpy --dump-code fib.py # inspect generated C++
48
+ ```
49
+
50
+ Reference types (classes, `list`, `dict`, ...) are passed by reference to functions, but stored
51
+ inline in class fields and containers. `Own[T]` marks ownership transfer -- the value is moved,
52
+ not referenced:
53
+
54
+ ```python
55
+ from dataclasses import dataclass
56
+ from tpy import Own, Int32
57
+
58
+ @dataclass
59
+ class Event:
60
+ timestamp: Int32
61
+ code: Int32
62
+
63
+ def make_batch(n: Int32) -> Own[list[Event]]:
64
+ # list comprehension creates a new list; Own means it is moved out to the caller
65
+ return [Event(i, i * 2) for i in range(n)]
66
+
67
+ batch = make_batch(3) # batch owns the list (moved, not copied)
68
+ for e in batch:
69
+ print(e.timestamp, e.code)
70
+ ```
71
+
72
+ Where TurboPython would silently copy what CPython shares by reference (e.g. storing a parameter into a field or container), the compiler warns and suggests an explicit `copy()` -- so dual-target code behaves identically under both runtimes.
73
+
74
+ Source files are valid Python -- your IDE, linter, and type checker work as-is.
75
+
76
+ ## Installation
77
+
78
+ ### For development
79
+
80
+ ```bash
81
+ git clone https://github.com/trozen/tpy.git && cd tpy
82
+ uv sync
83
+
84
+ uv run tpy examples/hello.py
85
+ ```
86
+
87
+ ### For use
88
+
89
+ ```bash
90
+ git clone https://github.com/trozen/tpy.git && cd tpy
91
+ uv tool install .
92
+ uv tool install ".[bundled]" # bundles zig as C++ compiler
93
+ ```
94
+
95
+ Or with pip: `pip install .` / `pip install ".[bundled]"`
96
+
97
+ Two commands are installed: `tpy` (runs programs, drops to a REPL with no args) and `tpyc` (compile-only; emits `.hpp`/`.cpp`).
98
+
99
+ ## Quick Start
100
+
101
+ ```bash
102
+ tpy # interactive REPL
103
+ tpy -c "print(1 + 2)" # run inline code
104
+ tpy examples/hello.py # compile and run a file
105
+ tpy -O examples/hello.py # release build (optimized)
106
+ tpy --dump-code file.py # inspect generated C++
107
+ tpy --cxx list # show available C++ compilers
108
+ tpy -j4 examples/hello.py # parallel compilation (4 jobs)
109
+ tpy --install-agent-docs docs/ # install TPy agent docs into your project
110
+
111
+ tpyc examples/hello.py # compile only -- emit .hpp/.cpp into __tpyc__/
112
+ tpyc -o out/ examples/hello.py # compile only, custom output directory
113
+ ```
114
+
115
+ A `sources.cmake` file is generated alongside the C++ output for easy CMake integration.
116
+ By default, the tpy runtime headers are bundled into the output directory so the
117
+ result is self-contained and can be committed or copied to another machine.
118
+ Use `--no-bundle-runtime` to skip the copy (e.g. during development on the runtime itself).
119
+
120
+ ```cmake
121
+ include(path/to/__tpyc__/myapp.d/sources.cmake)
122
+ add_executable(myapp ${TPYC_SOURCES})
123
+ target_include_directories(myapp PRIVATE ${TPYC_INCLUDE_DIRS})
124
+ target_link_libraries(myapp PRIVATE ${TPYC_LIBRARIES})
125
+ set_target_properties(myapp PROPERTIES CXX_STANDARD ${TPYC_CXX_STANDARD})
126
+ ```
127
+
128
+ ## Dependencies
129
+
130
+ - Python 3.12+
131
+ - A C++23 compiler: g++ 14+, clang++ 18+, or zig (auto-detected)
132
+
133
+ No external C/C++ libraries are required by the runtime.
134
+
135
+ ## Development
136
+
137
+ ```bash
138
+ # Run all tests
139
+ uv run pytest
140
+
141
+ # Run tests for a specific case
142
+ uv run pytest -k hello
143
+
144
+ # View built-in type documentation
145
+ uv run tpy --print-types | glow -p
146
+ ```
147
+
148
+ See `CLAUDE.md` for architecture, test structure, and development guidelines.
149
+ See `docs/LANGUAGE_FEATURES.md` for comprehensive language documentation.
150
+ See `docs/TPY_FOR_AGENTS.md` for the agent-facing bootstrap (also installable
151
+ into downstream projects via `tpy --install-agent-docs`).
@@ -0,0 +1,333 @@
1
+ tpyc/__init__.py,sha256=wQi6_zFZBssbqa817LAfaqBqj0f9BTTQDhtWfONjCj4,3297
2
+ tpyc/__main__.py,sha256=PJIil0xhs_XUWNLVEI_pZmcIXkdQRfpDSEWBWI-eEiA,131
3
+ tpyc/cli.py,sha256=N8lEMj1T8de9-477jW72bBgmr29lmymc7MSE5GaMNl0,34803
4
+ tpyc/coercions.py,sha256=KbbdEyhRKMw87YyxSKBL-oRmdv8mrJ7FlZER_0-__ZI,27913
5
+ tpyc/compilation_context.py,sha256=wml8woxHHEi5bSj-hdmuTKXxRXmEKtn9pR5j2AmbNgs,1906
6
+ tpyc/compiler.py,sha256=Wd9Dx1ePczXILkYiwCbtqaXMSfuLm_yonmCX_ri0adA,187251
7
+ tpyc/cycle_detection.py,sha256=7aqh9XWPLvStIi6VVHcZzRYwEgKpYznZe59XUcZxf7c,14359
8
+ tpyc/diagnostics.py,sha256=v1rIKdQMVA-KgiFVRmNf42ylYGCSCeR5QQPdMX31OkE,4615
9
+ tpyc/dump_types.py,sha256=pWXNU02Vf1PCZNn7PJZ5foNOcjKZ13mFqNvZwthONnY,12537
10
+ tpyc/frontend_diagnostics.py,sha256=gZi3DAqM9bM243dpM_fUEKKLdloxfERp2jSWgOc10mw,1695
11
+ tpyc/frontend_plugin.py,sha256=MpbZ8_C1oHLjGyHWQONF3pguMvDZEjIm8fGM_Tm2hKA,7919
12
+ tpyc/install_docs.py,sha256=offvMpTaMr6kQhK2FJIX_wTEw3SjSA4iaqUi8jtDYTQ,3125
13
+ tpyc/liveness.py,sha256=6mMvFEZRA1DiFMf4TixS52QibqEVqcEoqI7i5c-0aG4,30267
14
+ tpyc/macro_api.py,sha256=gra_VkBCBSb3QAYQHQTAP7SpMY_y4_KmgpaFkaBL1ig,66531
15
+ tpyc/macro_loader.py,sha256=ndhIlxJbWiD3RVVxALJnyfb5FwaNVTIHiwiJckjNFx4,17886
16
+ tpyc/module_names.py,sha256=E1KFDsLYmmrxyX8vpu0RLvfdlcs-SvNitmZVXJNi2Gg,2760
17
+ tpyc/namespace.py,sha256=G1njQ286rp5jT_DECqfI64PuXPs93Kz9Yw0BzmBjurU,6661
18
+ tpyc/prescan.py,sha256=zfSSW3ImP2DRfR9x5oolZnKJJ6ClS6olPMV20CJbODk,11055
19
+ tpyc/qnames.py,sha256=xqCLpVIsq02HqaTAyIa8dxXztHbruEncSMDZqti_kSg,4282
20
+ tpyc/repl.py,sha256=x2GhgvgY56hu7iZna1zklfAnhD5jOqGd_Ai4HAXonMg,21910
21
+ tpyc/repl_backends.py,sha256=ld0tLIcpAB2P0NI1tD1qal8cp5HM4bJgb4mnxhZICj0,31944
22
+ tpyc/symbol_binding.py,sha256=U4UicRCih8-ME9EFuuF1vTbD2jW7OcScnvBMwVdsYMg,8794
23
+ tpyc/test_c3_mro.py,sha256=XnebFZB-U8H6WtehIqzz7fSvu8t8Inh01M2ox6-5wQ4,7759
24
+ tpyc/test_cli_argv.py,sha256=P3bQz7Fk01T_ZBdVsF9hq3XhwN4vGjbE_LNgF2D8Au0,1735
25
+ tpyc/test_compiler.py,sha256=5uEuyQf2LxzT46bDVdvUicFXC7ZJZ82tuHyPuEph3YI,22358
26
+ tpyc/test_contains_type_param.py,sha256=3mTL_DV0eN72rS6SipOe5ZcPtZJvP5O08N-VAPv1c4s,3757
27
+ tpyc/test_cycle_detection.py,sha256=J2ZH4DbdquN60_ehtXz3PNnhezYxHMfSci9-ns5eBYk,8607
28
+ tpyc/test_dump_types.py,sha256=hvPHhPKnCspZdo5pRyP_3uKBy5rfo-fEQffAbbLiyfc,8577
29
+ tpyc/test_install_docs.py,sha256=yvj1hjW-5dgC31GoyMsO7QB1EugFzgzICKjP-UWpUL8,1881
30
+ tpyc/test_local_cpp_form.py,sha256=pXBDkeOU9oXzWUtRhIi5v6jk-agTYy8q_nN56ku0pA0,5511
31
+ tpyc/test_macro_loader.py,sha256=Yi3pDvDW8hRjoUfT4ogdBQQyF0-LOLry7k19oo0OzsA,2743
32
+ tpyc/test_method_expansion.py,sha256=f31ICeR48520K_RHtj04XF1ACjxdQeN4igAEy0uupd4,8668
33
+ tpyc/test_nominal_identity.py,sha256=Expdr8i_Gq6cLyGOhmD5d3sj-sLHubreWCZxSA7qpcs,7584
34
+ tpyc/test_overloads.py,sha256=3qeOL_jPPU9xiePhHqr34VgVF6E_sNtj3kthT9yKf1A,15742
35
+ tpyc/test_parse.py,sha256=B01kej2TFqgwK3b2KSvTW844a-IdmQY0f6pFqNhGdPI,13125
36
+ tpyc/test_parse_type_ref.py,sha256=lnLelgA62_oNq_jJbfGCVszsSG43bZK2KJoDyXc4jJk,18571
37
+ tpyc/test_parse_version_info.py,sha256=J-oLRUdf0wS4TPG2PI5selCyqiR3M3q72RdJFZjeO2c,2141
38
+ tpyc/test_reach_analysis.py,sha256=Z2FGoXTZUw_ytoU8nF_OimfA5yfTMPw4Omu_U8BL8uk,2252
39
+ tpyc/test_ref_type.py,sha256=T-twI19muSWtTNmr2wCxgrcZoYKMtQbw0MXpR0Skhjc,6847
40
+ tpyc/test_send_sync_substitution.py,sha256=vAlGlQPiO7e2tvECEBvkUmImdA9MZVtq423tLaMLsN0,10722
41
+ tpyc/test_tuple_mutation_propagation.py,sha256=5D_ARnQ6Qeu4ogXaGzJ9V4rPQiNgZZ4A29BYuvX2N7o,6050
42
+ tpyc/test_type_def_registry.py,sha256=nUfLQ1QyBRqm22RULDXFmZ_UzMbqcjgNKsu0PdIxEDU,76943
43
+ tpyc/test_union_types.py,sha256=8oU749tCjoA9HonykKW1XQzju8irTjgjDdLCCzWi_dY,7065
44
+ tpyc/type_def_registry.py,sha256=UT62CK_qEnEMOtvaf9LktFgXbMa7zIGTUf2DkpE9Tqs,43216
45
+ tpyc/typesys.py,sha256=SgOFMhwThLAl_KOblMivqKM2e2ru8xkI08LKW_aNFQk,213782
46
+ tpyc/build/__init__.py,sha256=r32dtvYLOAwAGkB6rOwgKzB5KU0Ay4cO5Tm_P57SZgE,330
47
+ tpyc/build/pcre2.py,sha256=ditXCxCeMTnbdOeeTqK0VZojjCuXgNnfiqLXdFkLEQM,4732
48
+ tpyc/build/third_party.py,sha256=OO6KEHsnWES9McUZVDSMlwwne3eWEN0_WzpiXHGqPk0,17002
49
+ tpyc/codegen_cpp/__init__.py,sha256=Z19zcqcKovhvyMGHrIp7d-HpDvUEluSR_dnPjBzc8LE,417
50
+ tpyc/codegen_cpp/builtins.py,sha256=Lcp8gJ2EKIvQnGRsWz5Gaf7h8CbCUFzDmY00RD7VMJ0,25237
51
+ tpyc/codegen_cpp/context.py,sha256=hdMA36_kQWS-_cq2i8KtY6RH0MHOsml2vTx9v32D-B0,101231
52
+ tpyc/codegen_cpp/expressions.py,sha256=o54qiIp2KdDyVEroEmjd7-UrQbU8Ut_LTiE7BsHTT5Y,325482
53
+ tpyc/codegen_cpp/functions.py,sha256=O2IiXP4ea420v02yyrVqohYb_6gNQTzqKsCl7G1dSv4,96977
54
+ tpyc/codegen_cpp/gen_async.py,sha256=YhePmFupfRD2fF8QxdP5Idk_OkKoCGFi8QBng7bmGRA,167577
55
+ tpyc/codegen_cpp/gen_generators.py,sha256=KjYgcz_7E6EKQpdmsGp4AhCC89siX5hznQ508oPgdUo,32448
56
+ tpyc/codegen_cpp/generator.py,sha256=DZGha683_MSF1DnSphL2Ov4FNQm1Ziud-9LoazYFF7A,121265
57
+ tpyc/codegen_cpp/match.py,sha256=-yopJc2uU79Bhm_ssdQU9xmPigg1lwsCgyhuGga121s,100697
58
+ tpyc/codegen_cpp/param_const.py,sha256=t_L2K2dZ-_81sOxqxHa_mTNmOwsJQeYFws_XBLnOFCg,7231
59
+ tpyc/codegen_cpp/protocols.py,sha256=WWFpno3EKR8vnK8TPLSAwj3EB90alGu8iX16-oiyV1g,46773
60
+ tpyc/codegen_cpp/records.py,sha256=Svijn3h8RnQdNB_letdDyROTZo_phrRUQUePBvtJOeg,85291
61
+ tpyc/codegen_cpp/resumable_cfg.py,sha256=02KD2B5JtB35UXEsVnxxPxTgtbk3Eio048aTCd574F4,71610
62
+ tpyc/codegen_cpp/statements.py,sha256=9ApPoJxDdIp0QsS1Jecc57S91vnt5leaq6wncV9ulvI,262814
63
+ tpyc/codegen_cpp/string_dispatch.py,sha256=HmLaR2rfw59qyPmW-l8Lf4-hgrot0yD3BaNtJ3_GtvA,2403
64
+ tpyc/codegen_cpp/test_context.py,sha256=dAOdxP6BxXx67oHhBavEzr2j0aYgZfh3PSyVAgqzuRI,1663
65
+ tpyc/codegen_cpp/test_param_const.py,sha256=BaWex3QqXzFh3kfcQAKZYtt4TY-7bC0YCpEA4zHfdP4,3917
66
+ tpyc/codegen_cpp/test_resumable_cfg.py,sha256=eze9pCjV08aGL-fe406Jg-8ZCdTY6cXOfrwI0y9uhYA,6953
67
+ tpyc/codegen_cpp/type_resolution.py,sha256=W71CzXpTE9p_Q135kqhk10CfRbHRZUh5BuyvWIot09Y,1740
68
+ tpyc/codegen_cpp/types.py,sha256=JzL_QJK1tJt0pDXORmnGeljZ8y-iMpk4SIgbdPy75cg,22368
69
+ tpyc/codegen_cpp/variant_access.py,sha256=J6ZSIkT9MiL4PHaK4BmCx4YMCPvEK0jBPU8G5RpCTG0,6427
70
+ tpyc/frontend_ir/__init__.py,sha256=_HVcu59RWvsuvY4LsjqR5AX-I6o-ChkNCuMkLRTbjWQ,2273
71
+ tpyc/frontend_ir/lower.py,sha256=4ICL-ObU_ovGn27lx-E-AmwQwX7qAPeek05LvrLbvNk,40356
72
+ tpyc/frontend_ir/nodes.py,sha256=4rQusdsaWVMnJ15U3bruT8MbHXj_MctaTWADfL10iPU,21199
73
+ tpyc/frontend_ir/resolver_adapter.py,sha256=ySqDzvpLB0VnZlAdkrj_Y5gcQ6I1A_Ojrba_RME7uXM,6186
74
+ tpyc/modules/__init__.py,sha256=WG2BC0-aS-VP4qQ8gnlNh9mjoOEr2x7X-L2gffqsUO8,1074
75
+ tpyc/modules/defs.py,sha256=6CJkw4Fx5Lww4PT5aE4iVHzfTZEMYS5wM3TT7tsP57I,2948
76
+ tpyc/modules/registry.py,sha256=ISgiFR6Q0L8dpAetuVMGqp32Jt-mWvzs0-mPYgGYMM8,1167
77
+ tpyc/modules/resolver.py,sha256=vMxWp5VvYL2eJU59VusO74LyYAHaj-X-_mlyHgSMvxY,7065
78
+ tpyc/modules/type_resolution.py,sha256=nZZuPl5gW2pYp8ic_dh3S_OcjhBlKSL6P-LLDB7VMfA,26654
79
+ tpyc/parse/__init__.py,sha256=-eEF0vgjSgnlLv2BrF9HUjshbJyY_Ixo2n3vXNRYK2Q,3990
80
+ tpyc/parse/imports.py,sha256=jtneogw5ncTXhDbARda60NrCM9R7BKQRxBQ4G1V7DOI,22325
81
+ tpyc/parse/nodes.py,sha256=A_Hm6C47LAVo55SAfJs2xqpGTa5Wes1vK3EKgnPUyBs,68792
82
+ tpyc/parse/parser.py,sha256=I3CKdmYxOJAHyTRBt6xhQwBkrOZ3uTKallDv_RfvhQ4,198285
83
+ tpyc/parse/resolve_refs.py,sha256=wQJPncAELuuRZmayNngRYOYNUqbasFoDOIEldnMsc20,21151
84
+ tpyc/parse/type_resolver.py,sha256=OWisLHW-063zT6labVVpoLzZA7g0r47yuMxcr8V2l-U,51015
85
+ tpyc/sema/__init__.py,sha256=wkstAeneROvbBOCRAs6DgIO4H1Y0x_4mlf-3qS0xoKI,474
86
+ tpyc/sema/analyzer.py,sha256=If6D00mffeKwQZFMnyx1YH-t3rmRuGdiMPmhFoG91Nc,184922
87
+ tpyc/sema/bound_check.py,sha256=FCRqYVb30na4jDb_f2sEDEMvtLbpMLyQkW7B-GZjVWw,2879
88
+ tpyc/sema/builder_trace.py,sha256=eYc5H4U1Gps2Y7fSxoalmHvasHDt_MR9tHAx98lOczQ,28970
89
+ tpyc/sema/calls.py,sha256=VtqxeJt9iMML7elBLUBzKWMgSKYtqktMVHBKNHg9IlM,271660
90
+ tpyc/sema/compatibility.py,sha256=NPPIX8f9HxC1BhLrFkwpG-t-LC1rQhn8hPBvC_OXAYI,110112
91
+ tpyc/sema/context.py,sha256=3zQDR45bqiqMMBOCbg5PXwA4kkLXCdQ8Ki7OuKjfMfk,58298
92
+ tpyc/sema/expressions.py,sha256=nMFhRfIan969XNgVEnFLLBOpd-9GcuMyaCpEZ2h-Aac,187138
93
+ tpyc/sema/flow_facts.py,sha256=SWTaPI5iuvJrcTxnAEJ_UHHr9ft6jJ-qAzr1C-06KZU,7264
94
+ tpyc/sema/init_tracker.py,sha256=6G1BDux5kvlysw2Dd_IYU669AON70e7GMbHzLRVxIls,7070
95
+ tpyc/sema/list_literals.py,sha256=1CsfHY3milsCoXUV6F4LwoWaRPG9lu92gnhwLNtVZdE,2682
96
+ tpyc/sema/literal_utils.py,sha256=dKfujeF6u0MdUlVTQY-glVrDz9yl3bKrwrk4InUPcOo,1200
97
+ tpyc/sema/local_deduction.py,sha256=ezyeUFWVGi26GfV8rHSTTScIUTcAnq19pyF-SAuUO2Y,51298
98
+ tpyc/sema/macros.py,sha256=EfqKRreguc4alUUFhG0ZrQ4MJE3-3yt5-UpBEdz09nY,7989
99
+ tpyc/sema/match.py,sha256=TpsNJDdB54pvKc1CD7CNf7Qdpk0gCvZna0ook1kokNo,52370
100
+ tpyc/sema/method_expansion.py,sha256=yaV-khEqrrqVHwlrPJR_NzOpXRFBN78r4OVsbgIrxcE,13303
101
+ tpyc/sema/methods.py,sha256=UsR_tXGaQ_I9uB_n40gLUWoksM8bnWBkOJ-klYtgxnA,108114
102
+ tpyc/sema/mutation_propagation.py,sha256=OXvKj-hPoaRbMTUoszhT4V-WwH2JVE_TxWNCICI2Lok,12222
103
+ tpyc/sema/narrowing.py,sha256=xz3nMMbNcS19seifQ-ocMCFk5SIulm0tMs6bgzbe4LI,38006
104
+ tpyc/sema/numeric_lattice.py,sha256=NQ7BWKRhtusUj30kgf8NEnxnlhemhipnH6CuhZwyXsw,5277
105
+ tpyc/sema/operators.py,sha256=YCNJOEJ_WreZ5ThcSHac5rFntyT3xZy0P60-R2Xdb0A,18298
106
+ tpyc/sema/overloads.py,sha256=LfbMyhtMiWlBejDzma3gbhfc8Tb60vFm2qo2zwvMMDY,39912
107
+ tpyc/sema/protocols.py,sha256=6GIbx-MXRxpQzGz9cxxKWjVSNRh_O-95R61YuY8Jmcw,60288
108
+ tpyc/sema/reach_analysis.py,sha256=2a4206dyQ6hqfKy83gwUbbC7d7Y51bba3YtdUSjsH-w,6965
109
+ tpyc/sema/registration.py,sha256=KyZbrqnhL9nUqgUO9JWzMu9tfJGuJZcLtnF3cKr5DtY,161674
110
+ tpyc/sema/scope_tracker.py,sha256=Ddn2drlLbrVl2-xhr7W6N_AIAhqA-v3o_cxxD2tPQk8,8034
111
+ tpyc/sema/statements.py,sha256=SS1sE-M8aUsNIlraqVni3ZNIyuMisnwB43gvkEmZBVs,238419
112
+ tpyc/sema/type_ops.py,sha256=9fwhh-0GDUk38xBRWDwI-H26MsdYeLixJ1vq9GW9kd0,96148
113
+ tpyc/sema/value_range.py,sha256=GO6-sZJIcDiPqvcx_DfEyVoyUm4pJucyISXI2OuYYpM,5622
114
+ tpyc/_buildinfo.py,sha256=oiclZXLCHkaRN-Dg9j2Jd-6F1_vyJS0QM1vaC9JKdNs,43
115
+ tpyc/_data/runtime/cpp/include/tpy/any.hpp,sha256=8ZviWgHLrNxO3DyibfQajyHpkeXb-9KX7KZexoY9FDs,16652
116
+ tpyc/_data/runtime/cpp/include/tpy/as_ostream.hpp,sha256=4vnG77JNig8edg1_07jqvYpQ7TQVHjKOu27kLkz585Y,3545
117
+ tpyc/_data/runtime/cpp/include/tpy/async.hpp,sha256=IEfyfmibIU_myQjLjgK6XCwA904g400ouoGiuKMOZyg,2926
118
+ tpyc/_data/runtime/cpp/include/tpy/bigint.hpp,sha256=pUzRsT8kc4UHHMbdIhWar3aXcnFj9djeC_D5dkoNXZE,42456
119
+ tpyc/_data/runtime/cpp/include/tpy/builtins.hpp,sha256=9pZZCB3XpT03JPzkOVQDenYHxLxgiBrmFkpmwBgqiOo,11543
120
+ tpyc/_data/runtime/cpp/include/tpy/bytes_ops.hpp,sha256=XM-TGN5qLBVavpvmdbij5smdmu9-zyu3cRTSYpw3k6g,15106
121
+ tpyc/_data/runtime/cpp/include/tpy/container_ops.hpp,sha256=XWiGP-niEHfVTrg66YcKnm-CqkMpPtjCcKqd2kdoHWI,16824
122
+ tpyc/_data/runtime/cpp/include/tpy/copy_iter.hpp,sha256=KlLR0NB8vr389Kf5zssz-Hg_-6QLBpaWHbv8qBs9PY4,2684
123
+ tpyc/_data/runtime/cpp/include/tpy/core.hpp,sha256=SwxXmpzrpig_d_BdBaeuh5zzDQDUZSAQJBdB1rSrbbc,21470
124
+ tpyc/_data/runtime/cpp/include/tpy/dict_ops.hpp,sha256=64ruZ4ZiActHtwpHzmQxk5-kzgFLJX1HP-tibqUkJ_E,9168
125
+ tpyc/_data/runtime/cpp/include/tpy/dunder.hpp,sha256=7dSO3sjo6YX8jAqAHTp-DAbv8X69aAkwUp7ykYNYTlI,26137
126
+ tpyc/_data/runtime/cpp/include/tpy/dynamic.hpp,sha256=CL14Um2Tkv1PuOcQSs6WNTNBPEqFjlJUWAc_E3HVol0,1655
127
+ tpyc/_data/runtime/cpp/include/tpy/enum.hpp,sha256=jlhfN4IL86to16wDH2YdiLUvFiiBPuU-57rIj1Re3sc,1213
128
+ tpyc/_data/runtime/cpp/include/tpy/file.hpp,sha256=vQBtTIvHVh68qzPEPCvbkgmHY1zKN9ej5Qw9Uhm84Tk,8149
129
+ tpyc/_data/runtime/cpp/include/tpy/fixed_int.hpp,sha256=I-9mo23X5_yq3R_1nPhwd9G9rn4ph796Tk8NYKLspDs,11139
130
+ tpyc/_data/runtime/cpp/include/tpy/format.hpp,sha256=Xp4s7eXuhkG6Ix4P0MW3Lfo57bskVkcSw0SPQ6dfCXo,34120
131
+ tpyc/_data/runtime/cpp/include/tpy/frame_slot.hpp,sha256=6NSBko66ybpPp5e9BGM4or-GUaO-Hg9GdPp1hm3XRao,3719
132
+ tpyc/_data/runtime/cpp/include/tpy/generator.hpp,sha256=BZRL43RepVUn3YTjcqp7_0qAphyT8RBGpMx4cUuCJPQ,1308
133
+ tpyc/_data/runtime/cpp/include/tpy/iterable_ops.hpp,sha256=MNIVYrQZfhY45gcEA5WKbgs3mzk1NVDfd9ygljEyrcA,3989
134
+ tpyc/_data/runtime/cpp/include/tpy/itertools.hpp,sha256=WyooSVfuMuBaVZIh9kPAqePg-Q4nvw9E-Ek6AjVmIlI,27802
135
+ tpyc/_data/runtime/cpp/include/tpy/next_iter.hpp,sha256=1WnhYkLTtxE5YEx1hw43wdLK6TkN-dlsqaoasV-20Ng,2366
136
+ tpyc/_data/runtime/cpp/include/tpy/ordered_map.hpp,sha256=CGiLD7QP8wq9P_63l0L3aHuGJcHUEiPmSuXNRkfX6zc,17979
137
+ tpyc/_data/runtime/cpp/include/tpy/ordered_set.hpp,sha256=caL0lhajuZJfgoZYQDBNQ2YiYRDqlXmI29lRea2qbKM,10036
138
+ tpyc/_data/runtime/cpp/include/tpy/own_iter.hpp,sha256=-IgP9um3i1UargyeknUGb9AwvOu6ca6Ydb050k7W4z4,1582
139
+ tpyc/_data/runtime/cpp/include/tpy/pascal_graph_sdl.hpp,sha256=a41yF157oelFUj6fHOxXjz8xSmyadNYHSHrrEtd4bmo,6720
140
+ tpyc/_data/runtime/cpp/include/tpy/printing.hpp,sha256=Hyp6RBfH_l3iLx1G6k0LwiTH7mYYuRfaDl4N-WrJTMk,9051
141
+ tpyc/_data/runtime/cpp/include/tpy/protocols.hpp,sha256=qjh5Ju04ZLjf6ZRgByaZg5Lo4HCz08WCauvZHqnmxtU,1889
142
+ tpyc/_data/runtime/cpp/include/tpy/range.hpp,sha256=6snoCk85pT4K7cvLSm4WabH_1aGUqtLST0WCXOnchWU,4555
143
+ tpyc/_data/runtime/cpp/include/tpy/ranges.hpp,sha256=SfX9ZgTL5VmwcLnenDWqoBLqDBKbdyetDp4sD2QvAU4,7205
144
+ tpyc/_data/runtime/cpp/include/tpy/set_ops.hpp,sha256=GXMSrz49hsYMPSu22LX8JOE_Q0FHpOSZ8LpE9AJy74U,6944
145
+ tpyc/_data/runtime/cpp/include/tpy/slice.hpp,sha256=wG_Dj5bA_eBZwGxeIFK2iu2DGTqmY302nKj_-8-eG0U,1349
146
+ tpyc/_data/runtime/cpp/include/tpy/span_iter.hpp,sha256=Z1EvxAFbwzVIiF4qKLHozL3J81aTRLW_xDA8jbu9coQ,1144
147
+ tpyc/_data/runtime/cpp/include/tpy/system.hpp,sha256=jKiuqkPA0LbdScpgrS-4BWoDwSeiSVTHgiixlIvVebk,3321
148
+ tpyc/_data/runtime/cpp/include/tpy/throwable.hpp,sha256=-C-9UxtRIEcLbuEtEn4dQ0YpCiTV58m5LG2_xks24cY,2259
149
+ tpyc/_data/runtime/cpp/include/tpy/tpy.hpp,sha256=O0Re2t6KW4NdJPeNP4hbyNvlq0bGvotx8dwqa_whX2M,4853
150
+ tpyc/_data/runtime/cpp/include/tpy/type_name.hpp,sha256=mp8XQl56LYXICrLLMt09i1CEugCWh0FUrKH6-WBHJ4Y,2526
151
+ tpyc/_data/runtime/cpp/include/tpy/type_traits.hpp,sha256=DDi7VhlUU9Nr0-4T27LoUgeGrwpef7B0xJC8726Xre0,9843
152
+ tpyc/_data/runtime/cpp/include/tpy/uninit_array_storage.hpp,sha256=NLqKpc6ZxgiF2G2lC6UVHt7V9rHNubmb0wI6azVdO40,7101
153
+ tpyc/_data/runtime/cpp/include/tpy/uninit_heap_storage.hpp,sha256=8F5Ax3RcFl4UanSUHcD4eWNHI5LTXQIHIlultT1ZgRk,7919
154
+ tpyc/_data/runtime/cpp/include/tpy/varargs.hpp,sha256=-54RMckjyg3uNylPQF_PVFyGnhks9RIWyLgmi19URu0,5906
155
+ tpyc/_data/runtime/cpp/include/tpy/variant_ref.hpp,sha256=uiUzMsPdzTdsMySrGSaietAoc_SY6jTAb37FNER8yGI,4134
156
+ tpyc/_data/runtime/cpp/include/tpy/stdlib/math.hpp,sha256=z-QFEusuEvA8egmWB9C75W6cLDDWoGN5_H9uDSPu1kg,1413
157
+ tpyc/_data/runtime/cpp/include/tpy/stdlib/pcre2_h.hpp,sha256=QfNfZgCk2cPhLe--vLCJ0jW7deHZaZqSbkPvrRbLkjE,4365
158
+ tpyc/_data/runtime/cpp/include/tpy/stdlib/random.hpp,sha256=yzfJpQNjQTjPbQbyIFp88JD-0w0LgFiCpJPXboJyuww,933
159
+ tpyc/_data/runtime/cpp/include/tpy/stdlib/socket_h.hpp,sha256=10gMXmiOgp18pvx5my9OfTtdi8_mqR5axddrnQD7ThU,6870
160
+ tpyc/_data/runtime/cpp/include/tpy/stdlib/time.hpp,sha256=EGoq3fLBvRKVcojRBWNqHkODYRj-PpLfehOUh4lLL-c,1991
161
+ tpyc/_data/runtime/cpp/src/stdlib/socket_impl.cpp,sha256=fNuG8zS2AQKhDR2XJ7LGamX01DDjs7iA3PwwcUPGaIw,3702
162
+ tpyc/_data/runtime/cpp/third_party/README.md,sha256=2ng-9YGWiiideizEKrTfxoeq8n3h3_VgPe4RwTxGZpE,2751
163
+ tpyc/_data/runtime/cpp/third_party/pcre2.sources.txt,sha256=r13UxDG2FXDa-hlaQln_wH-WZIlYv5zfuI59xRXC2xo,1747
164
+ tpyc/_data/runtime/cpp/third_party/pcre2.vendor.json,sha256=5XVAoR3G78VsLPWezWSCSRfb6VOsRBMJRl6Q7wFMHlU,269
165
+ tpyc/_data/runtime/cpp/third_party/pcre2/AUTHORS,sha256=RmqPjjCxlehFJHF0W5RCWJAbeLbAcfVT_9ctmSSSsGw,749
166
+ tpyc/_data/runtime/cpp/third_party/pcre2/CMakeLists.txt,sha256=lpe3auZYx9t30FR0_NFcCPyLe2MQJnM0ZTfr2TgINVs,48441
167
+ tpyc/_data/runtime/cpp/third_party/pcre2/COPYING,sha256=mScsVfPc-geop-FaXBozCW5HJ950JB1l-gSfzP3VlQc,97
168
+ tpyc/_data/runtime/cpp/third_party/pcre2/ChangeLog,sha256=H1csZZJDfH2v64D5H5_1Nlb0UJinbxziOy3D_OvI5xE,144201
169
+ tpyc/_data/runtime/cpp/third_party/pcre2/HACKING,sha256=ojZBHoWFS92ZKPYTxTBHw8ENenBfE06OsjAUO5cHdGQ,39914
170
+ tpyc/_data/runtime/cpp/third_party/pcre2/INSTALL,sha256=7evEbH0HJYogFwBQ2Vlc5OYw9dWEpOsAIgu5DImXoxs,15766
171
+ tpyc/_data/runtime/cpp/third_party/pcre2/LICENCE,sha256=AwCH4ujdfBvdJgV9JdTe2PRbvwGtRY1oZlrQS4sPvt8,3477
172
+ tpyc/_data/runtime/cpp/third_party/pcre2/NEWS,sha256=nlZfqmuXIz4nCSR6TYuSvSyYlbjnW3K7iyxDZDGFfS8,18265
173
+ tpyc/_data/runtime/cpp/third_party/pcre2/NON-AUTOTOOLS-BUILD,sha256=mfyVhaf_vadRQ5bo3eZk_c1wHL_wA6dmGymb3BuZ61o,19534
174
+ tpyc/_data/runtime/cpp/third_party/pcre2/README,sha256=k8NCy8TJOXSwg3zWpqWRgkW4SKkFBqKO4ZBqDcWugHI,45578
175
+ tpyc/_data/runtime/cpp/third_party/pcre2/config-cmake.h.in,sha256=zV4KvXvKWLaoDN3gMkHcuJyAVo-FK7BnXUf6RyAPq7w,1694
176
+ tpyc/_data/runtime/cpp/third_party/pcre2/libpcre2-16.pc.in,sha256=k9PelYxi9RhchHTjpVcr-H1ktmoW-FxpC_QtGJyyyE0,406
177
+ tpyc/_data/runtime/cpp/third_party/pcre2/libpcre2-32.pc.in,sha256=DROirWZ7sqmKeaGJUlKlP-Kvv2g72YP5HfVmsIcqhTo,406
178
+ tpyc/_data/runtime/cpp/third_party/pcre2/libpcre2-8.pc.in,sha256=BgrFEq66cHkVeBWp5vww44NWC1RENv2JsX6BG639FD4,403
179
+ tpyc/_data/runtime/cpp/third_party/pcre2/libpcre2-posix.pc.in,sha256=Rb51hgTjPF3jXz28XnJjPkYWWtKt6aecCmh16zLOdk8,340
180
+ tpyc/_data/runtime/cpp/third_party/pcre2/pcre2-config.in,sha256=kaW0tuWWkKSN2j_MEkgomHQgS2mR40YIzq0hszwq5Sw,2344
181
+ tpyc/_data/runtime/cpp/third_party/pcre2/cmake/COPYING-CMAKE-SCRIPTS,sha256=Rs3n3BHmTHjWULSFG4j2cEtGZf9g8iocr2jOsV4hfls,1327
182
+ tpyc/_data/runtime/cpp/third_party/pcre2/cmake/FindEditline.cmake,sha256=VnqwjlsW10B9j2yJtJO2xqbDNLJGHDMd1FOz6bh1lpQ,556
183
+ tpyc/_data/runtime/cpp/third_party/pcre2/cmake/FindPackageHandleStandardArgs.cmake,sha256=qj7x8ch0LaVIE6qwrFjHHt0eWM07axV7hWv9UlrcLl0,2410
184
+ tpyc/_data/runtime/cpp/third_party/pcre2/cmake/FindReadline.cmake,sha256=BV4d-L0p5oN9jruMFd1dyyjIjiOqvahTi3aiSd_4KbA,1287
185
+ tpyc/_data/runtime/cpp/third_party/pcre2/cmake/pcre2-config-version.cmake.in,sha256=SJMvupqF2KUMIirFgl4vMdOOU1oeZGf8tcN0zEO655E,542
186
+ tpyc/_data/runtime/cpp/third_party/pcre2/cmake/pcre2-config.cmake.in,sha256=jL8E1szMXcacMQVSmxPPwTOFVhJstOeqnu168BxurVA,5187
187
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/config.h,sha256=nCfs1XbRpAb2p-DX_FrX7cmjGxz8hcvg2kGO8t-eOOs,18255
188
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/config.h.generic,sha256=E5Ia8ZhmNWXRLCoD7FOURh39rdcEiUFyPYZbhmSW4qg,18264
189
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/config.h.in,sha256=YunzKt_90_tKXmJP7LOpZEQ-PmnhHtIxkdGLEP45HcU,17157
190
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2.h,sha256=DQjbiKb66bOY-szrqvPGtADegmQljVjJTB7d7gIKBL8,48423
191
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2.h.generic,sha256=DQjbiKb66bOY-szrqvPGtADegmQljVjJTB7d7gIKBL8,48423
192
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2.h.in,sha256=nAlzUnzdr4v8n_RDrHwngJqj4UpaUU-N5NkJ8n4GNvU,48465
193
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_auto_possess.c,sha256=cZrUaNCO61hzrJHVoCk4ngQENWJIWVYcjD-OmkDOq5c,40585
194
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_chartables.c,sha256=c6Udni3ulBnmKFy-iu_tfAbaU64pbJSkMwwkNHAo9ms,7752
195
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_chartables.c.dist,sha256=c6Udni3ulBnmKFy-iu_tfAbaU64pbJSkMwwkNHAo9ms,7752
196
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_chkdint.c,sha256=6tIoFkAx1snOMe7SJx0xkOr8vlaBrYr4csJI9MmFP2w,3207
197
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_compile.c,sha256=0Ewl2yST8_BtjkTgbqMTzI_b7b3jRLgrkSVzoMkWmzQ,367181
198
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_config.c,sha256=6gK4MKOVHHPLpA3GJ3fnJJ8gsue47V4wL7K6xGf9YRo,7740
199
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_context.c,sha256=0goh7ht0EZUhHM_Qrt-cmITAKi_FBDx1cqUG55lVGVw,15861
200
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_convert.c,sha256=sPjqYq9uWokgCgckO7ao-eNcmZocYXawAblB6GnYwQI,31004
201
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_dfa_match.c,sha256=7bX8gGS_0tIg1gcOSDsRO_gZ5QZbSmXNYckdaWFPO18,143371
202
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_dftables.c,sha256=MJ_3hQETojI5VNunCj1gqZiHI5rNUVeHBfPfl8BbBQg,9344
203
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_error.c,sha256=KOvvmFh1imAv_YcFIGAx2-pqr5Tb86pSzwXmXEz5DFs,13546
204
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_extuni.c,sha256=n1aCbr8ZVTuOvgm1bJjIXf5mcRN1qDlEqWcSMXNCHcw,5427
205
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_find_bracket.c,sha256=zQkULTDcYYNzDxTzLA71Q1adZ9lA9xwgGWN9UBD3f-M,6860
206
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_fuzzsupport.c,sha256=1btEpxqZPDbtZwbj9MKwKkNRAXH6HzhUIicv6-YAoss,25002
207
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_internal.h,sha256=sOEg0SBIahLvCwoOGlVRrJ15-QnxzSCLUzEkEzvg1UE,95472
208
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_intmodedep.h,sha256=gGmlmkWxxNCnJKuPoDkEIjR2Ejy2vH7b61-Betx44cs,38078
209
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_jit_compile.c,sha256=P10-CjxAWYi_NOAIOkSftLaO9JMCwRTKXH00Yz1R2MY,460402
210
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_jit_match.c,sha256=Rk4CW4J66qOedcC-bAyCUVMnt_jXBxlFLSNymzMEink,6867
211
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_jit_misc.c,sha256=AqfU4-JhaTi7do4xwCi6IFJ1GzT0tOhJExR-V_lQhIE,7081
212
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_jit_neon_inc.h,sha256=Qna7EkU2AEVIA6zby7nnGZRO4HSeu1lOp2ZYl0zrOSU,8663
213
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_jit_simd_inc.h,sha256=9d7_geP_5ujLGr7D7jyXY6HzHsm8dl4fhf4DX2SK51Q,73972
214
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_jit_test.c,sha256=OjOoxYXt_OCr0SOfuHlMDg9RcS6S_PjHtr55fc-SYQk,109577
215
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_maketables.c,sha256=K52L8mfJZmnIpglCc-VaA2vn_r-nBXI4kPebta_4C0g,6599
216
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_match.c,sha256=5GQHl--MnD3tdeDXXD7XCuYnBVCJtFVEddvgmsyYEO0,236270
217
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_match_data.c,sha256=Nu-KCevJMFka5hvt4puIOvxJ-j4Ga7ZnXzMoq9EtJVg,6084
218
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_newline.c,sha256=6A4sjI16RiAlwSgJkwZyHXZb8ZIo1is4FdigvhX4bmo,6356
219
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_ord2utf.c,sha256=bqCCOMxHdh6dCHpUaF-rJ5_r_7LA5USFmDyx8HkKnl0,3741
220
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_pattern_info.c,sha256=-MD1JxUJgmfgGu1GFRbQ73unHqTqIuXUB6kXQZGE5G8,11738
221
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_printint.c,sha256=PNrAiwTxSkxeQyJXLzkEz9bnYX5x86pZhopDodNYf8U,24522
222
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_script_run.c,sha256=pqQYMjtUjox0qF5I9nyZaFfbd2oj7_oveLCfhGB0KHw,11928
223
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_serialize.c,sha256=48NsytHLxtW0-4DE-MnfB0XkjPyLCfAwJjkiTQyV6bg,10048
224
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_string_utils.c,sha256=ZfwNjtnzUXcCMds4IzugLqN7L8l5EPNZ74JUMONkVLw,6166
225
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_study.c,sha256=W_ybfAS8GwxWUBupKMCnAPp2-hpKVa2jgjbQOJ81cA0,56009
226
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_substitute.c,sha256=TtD8Wmio5zcMD2njT008_fQRaNvKYYMrPYuA1jMWU1E,30176
227
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_substring.c,sha256=_D9017hKalaDlL2p5AWwpr0BCsfCvahw4dGCys-HYBw,18438
228
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_tables.c,sha256=H--TJzlAsCZL9iVJzY3pWCKfBS3DsTBm42bGAGW-PO0,9702
229
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_ucd.c,sha256=eYguVWgwuQ2qSCl9ITbyKua-JxtsBVeQBabJ1sBOc1s,335209
230
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_ucp.h,sha256=ZiIwUMlnKcX1Hrd5z1Mm664EnBm4qN4P5-jFRG3JMjI,10244
231
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_ucptables.c,sha256=0Ywoq1lTqWJ3TBZvSPhog8_bs4ZiK-Fko9HIZ0YoGps,61105
232
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_valid_utf.c,sha256=GYexUt4IXnAJ51JWEnRpGazupJDgO7PUbjW61qHhMvk,13099
233
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2_xclass.c,sha256=gtF9E9-erTsaqqKkU7ag5qhmhuy90VevOb1Izw_U86w,9495
234
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2demo.c,sha256=DI3Y8q9dmQluHP-vehN2Qd9K6TfOsbEaysqjPeYIh3M,20174
235
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2grep.c,sha256=SBBaWDGb7n_wmJ4bBV0NkldESmD4Tkx6VEeoltLzzKQ,132963
236
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2posix.c,sha256=WslEMBrpOauF_nIizQU88I9nfeDxquvO4pJUyGSseeY,14384
237
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2posix.h,sha256=ue1-0KzotmHTwroQ_DNUyHtzfFJMqU4yEArvswO94aI,7355
238
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2posix_test.c,sha256=8fZjXU35eWri5UTfCHHipIPnkjedAvr7ZyAl1Y0CM4g,5555
239
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/pcre2test.c,sha256=CISt7cCbLRToWBrQR-gezfm4-WcHruFNGa0uA7HpEjY,320379
240
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitConfig.h,sha256=aUvKSdCkg_yGeYIggosox0YSPg5v245Qm_95Rhs1rxI,5265
241
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitConfigCPU.h,sha256=E2k_eaJWmbPhWRl-CR7cs8LzBbBTFPW7LxFMs0wbbLI,8166
242
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitConfigInternal.h,sha256=LyaF8nh-KhrtmM72dBOXgil4izHDfpmfOR303ecAyxY,32452
243
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitLir.c,sha256=3ghrLfwfUUoIIRNw8oq0hRYaoKWkDOXLO8YHfXW3Dhs,117244
244
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitLir.h,sha256=cEEabFeOQXPjvX1rkbG--K8fOoTUkhY6rjce_A8bQp8,109361
245
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeARM_32.c,sha256=JTNqwEE5Yj1MBtRFhocSAvgaYJ3x8p0eYBmkFO2XxpM,136189
246
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeARM_64.c,sha256=SwI6HMOBqTOQZuM2xkC13ln2ALuA59DglrMwlBVH_8w,103056
247
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeARM_T2_32.c,sha256=u6s1CMDduaxbvMU9W89Pg4rLPJJHZoFIAC4zwsE5ON4,131280
248
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeLOONGARCH_64.c,sha256=sEayZM6z97NuUrA0UJSNcc7_RyIkIYOguaAQezxkG9E,119278
249
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeMIPS_32.c,sha256=16wRssqz_bKgF2Agbqa70lYVgKx1abndYiPfm998Yqo,15359
250
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeMIPS_64.c,sha256=XgncAU4ea-8IlTuTUGTZKRG0VxznZELXo9sBgx0HxfE,12519
251
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeMIPS_common.c,sha256=3o6ccTuh-QF9iHoyQmoUIA069VlL6BzzrxObEhFblNc,146882
252
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativePPC_32.c,sha256=dFyWzs6TVfh97Bt4Ze2ZNrSXsPmF6tWuPdev3v37dIA,17455
253
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativePPC_64.c,sha256=eW5iy3mnaqv_9FO8xRbX5_Brc71928bZ0pIYVRZU0LM,24461
254
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativePPC_common.c,sha256=Lt6k7gxJ11Gr8DtfvYOaWH0FeCqsN5ekUAT53r7LMAY,100479
255
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeRISCV_32.c,sha256=7d-y8fZ_J6ve8cv2ZYup4msyRWb-V3F_CoKel5uaF1c,5164
256
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeRISCV_64.c,sha256=UasfPqQUwMNPBA5PYYT4qfgA9vdKy-LFyv5WuMRnvck,7186
257
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeRISCV_common.c,sha256=7iN07E8ZTiM7j9YWMfAwVbReF2fUp232E9qRHyBSIIw,102021
258
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeS390X.c,sha256=IgubFXnu3-JWQdo7IzZtxnBf1zDpwps2tutexy7vNSY,133682
259
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeX86_32.c,sha256=wgvui0Wffm5ywQHdqbMgaksOaYOAMeWBtMm9fVTOKuo,46526
260
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeX86_64.c,sha256=_7sqCB6dsfU0bd8WdbHtKRPZ57qZ43mbIVw0ouEaqTc,38310
261
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitNativeX86_common.c,sha256=hoBsCLS6MmGtRMq3oNEsrb6vmjmXrWZKqBg-e8eBKUQ,150250
262
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitSerialize.c,sha256=lAb_zevo2ozlEEIQvQjnSgKeITZtEfQUdW4ZRWEGub4,17078
263
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/sljitUtils.c,sha256=pvhI4755ObouK1MEITSXg3trZ9xDOmO6ipaUf2qwbFA,10430
264
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitExecAllocatorApple.c,sha256=2_jpWtfbm2kcaNYiX1T2A_nvG79B0a_ulr2LEmlDIic,4002
265
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitExecAllocatorCore.c,sha256=sGg0Kp6fPU7xqLr46O6qgp2nUcqcOZafLi8DAQ4ngXw,11146
266
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitExecAllocatorFreeBSD.c,sha256=i_RO8DFJVMnk3rQBDbOnSxIwh0X3FMofqdQD42sDPRY,2729
267
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitExecAllocatorPosix.c,sha256=TKOufXPArlp2We3eViYhdBpeaKgd6oSAVPv_IgYqpqY,2105
268
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitExecAllocatorWindows.c,sha256=doj5RQJg6XVDmmr8riuCA5klj89-2IPl7iR3Y_6IYWg,1808
269
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitProtExecAllocatorNetBSD.c,sha256=e6ZIGetf91rI-fmNMJLsshMvCa4diC3WKbrciET0E1U,2598
270
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitProtExecAllocatorPosix.c,sha256=HyCBsBX0n-0SDZLI2ncN57zajKrIy8Msv6T-_fNHzAE,4397
271
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitWXExecAllocatorPosix.c,sha256=Ymd7_ik9ceoy8r6NoZnkHpAMNN3ZPX1sUi_-GYjBxaY,4791
272
+ tpyc/_data/runtime/cpp/third_party/pcre2/src/sljit/allocator_src/sljitWXExecAllocatorWindows.c,sha256=7YQFp1niVK0y_lb43StrXAHrreGcXkt4mShQuw2fjz0,3795
273
+ tpyc/_data/docs/LANGUAGE_FEATURES.md,sha256=liF0gdroil36S9etL0CwOKcBj-s7XfAY94hmsIoXoxA,379565
274
+ tpyc/_data/docs/STDLIB_ROADMAP.md,sha256=DIEkKVGerJdOxdzVtRTd5BPVkT3lUavog3JcF0x3Gas,87945
275
+ tpyc/_data/docs/TPY_FOR_AGENTS.md,sha256=vJnyvi8eq49nvRLVc1_s0y9zrGTFnLVfKprBNsWCDnc,20635
276
+ tpyc/_data/lib/tpy/_functools_macros.py,sha256=wgSn8HI8zmEEmVMWivcRxi9FmTOVey4U067H5eUAkgE,3300
277
+ tpyc/_data/lib/tpy/_macro_helpers.py,sha256=ArMI6N_JeuviDOVUoRPodqN0DlqnvIcMa3EB--nS2g4,5429
278
+ tpyc/_data/lib/tpy/argparse.py,sha256=FV2EUwCS01QmE9CyXo0v9eh-ffUjvu2B9npxRiwIbCw,84800
279
+ tpyc/_data/lib/tpy/base64.py,sha256=i_DAQ3POfVVxufOIHy-vb8M-gf6ZiMvRSMHwGAWX7ZE,15265
280
+ tpyc/_data/lib/tpy/bisect.py,sha256=PpAT6XdqmeZH_FDKu0DrJrQNLrrLIGvm3pF9I1bIwNE,1037
281
+ tpyc/_data/lib/tpy/builtins.py,sha256=S3enLc2jHObgNlHWJwVqOlY--PeXirKxroRNoDX3zRM,1957
282
+ tpyc/_data/lib/tpy/dataclasses.py,sha256=eyo-oZW77bSSn_3L7dhOtmp9n5kB_YS-phC7Py9Hqsw,14283
283
+ tpyc/_data/lib/tpy/enum.py,sha256=KeO3UeVL59lPOWjtHs6XPnwOpWkdou9teAJmvko2wp0,533
284
+ tpyc/_data/lib/tpy/functools.py,sha256=C5I9Au15V3cuiv41yhgD6JtLBflp5E3Ui-xhj4mimH0,1055
285
+ tpyc/_data/lib/tpy/hashlib.py,sha256=gynhqu11hlBmOIiPn01GyuHNPsdKFF0qA5AM9jqCB9I,8458
286
+ tpyc/_data/lib/tpy/heapq.py,sha256=AIDxWsLlciMwUg3hIhBACmAaqMfTxT8NVnJvqZ2IKSk,4410
287
+ tpyc/_data/lib/tpy/io.py,sha256=Ras7ryjQjpKUg1H5GpNn6Jz83i-95yWPPpD-AzQBKYg,12531
288
+ tpyc/_data/lib/tpy/json.py,sha256=ROubQMNiGreSZuVM2DIPJ87s-iW9fChEk8szg5zAt8M,7651
289
+ tpyc/_data/lib/tpy/math.py,sha256=u4lrGZnZZ7X3FUXdG_VMdUFfUPa-Hb6U8aIinAO0skA,11616
290
+ tpyc/_data/lib/tpy/random.py,sha256=FiXDJftnxxEk2mHb7p8qeEDQzH0N2GggoW7fTqtEvAg,24236
291
+ tpyc/_data/lib/tpy/re.py,sha256=hvi-jbbkmPXbdvpl7iE2mr01gAggh4faOPH1MJfLkDI,20348
292
+ tpyc/_data/lib/tpy/socket.py,sha256=NkmbqhyTfgnKqcB7FIPb6eq8oqVGcWEXbAy8a5ubZZ0,15459
293
+ tpyc/_data/lib/tpy/struct.py,sha256=_9alTFoPPxYyOvkJZIS4kxkMfKB070bq5_RUthmGRMU,5569
294
+ tpyc/_data/lib/tpy/sys.py,sha256=2XSo1WaN8RQI6tiNuPb7RQv5mW-LXd6DsNAuWoXpg14,971
295
+ tpyc/_data/lib/tpy/time.py,sha256=4tXEPEMe2ZJVJooq7q6XOMo5E8Kh4ir23s-AtRugbCs,1159
296
+ tpyc/_data/lib/tpy/typing.py,sha256=GosX1wd-z3Od8lKRL4V649E3uFnH3CcSJliuKGAapkM,495
297
+ tpyc/_data/lib/tpy/_bindings/__init__.py,sha256=RQ7escgy7v7l9Ft6sTdQrBgrX5QvRz-MeWCNnTOwpp0,256
298
+ tpyc/_data/lib/tpy/_bindings/pcre2.py,sha256=UJII77r4DRGZP-rhPRj-f5zLb17CGiOw8YYBef_NvU0,7152
299
+ tpyc/_data/lib/tpy/_bindings/posix_socket.py,sha256=00yMohQ41zb6XNfOvn9B9Yq8m9Tj8mBSEnEbpLMiiNY,6362
300
+ tpyc/_data/lib/tpy/asyncio/__init__.py,sha256=5MEYeopd8vfwXo8h_Smh7sl7ZF7vzCpmHWs_Z4AXJ7g,29541
301
+ tpyc/_data/lib/tpy/asyncio/_executor.py,sha256=DB1B72ETkRdFLDjzzW--cNuYuD1_9Ow9Jhh1esaxmPI,18905
302
+ tpyc/_data/lib/tpy/tpy/__init__.py,sha256=VWgjQ9YjMytf8Axo0IiEIefTpUYYOF8tqNF9B3G2Zrc,3021
303
+ tpyc/_data/lib/tpy/tpy/_version.py,sha256=4DMXuS84H0KnHTqePacrXbp6OxQN28IJOiKBfv42mdA,812
304
+ tpyc/_data/lib/tpy/tpy/bits.py,sha256=2j2QNUeIQIPaEG57Q9eHq77oBIAPwaiWQxMMIME-7vw,1022
305
+ tpyc/_data/lib/tpy/tpy/extern.py,sha256=_nMc9WVWcf7GRZyRUsl1L7xxWoPupu05mQuCzvTTxb0,259
306
+ tpyc/_data/lib/tpy/tpy/mem.py,sha256=bwG3fSnjhxZ4Q7wVTpbJAFBYMMc6Rx4NaeJRnPIfOFQ,1873
307
+ tpyc/_data/lib/tpy/tpy/unsafe.py,sha256=KBFXl-KmpoCohZ50L7dzuMXggGm7vMExrldMn5UpzU8,8019
308
+ tpyc/_data/lib/tpy/tpy/version.py,sha256=8TJSgmIx-vkYF-3t6YqgbzPyPxVlHX1hlnOjfxu0xRU,868
309
+ tpyc/_data/lib/tpy/tpy/_bootstrap/__init__.py,sha256=rU83kRo2oWnkPw2eIbybY1c3KavXGfX1PJPiFoR962U,266
310
+ tpyc/_data/lib/tpy/tpy/_bootstrap/_decorators.py,sha256=LhdeSO2kZtA7BgzdaQm4MglFXO7w9A4HYiya5MJLTzw,1103
311
+ tpyc/_data/lib/tpy/tpy/_bootstrap/_extern.py,sha256=h2ENTuDlvbEIa1ctf1z2LRzc2CxHLB_sB3Ty_Z9etF0,2808
312
+ tpyc/_data/lib/tpy/tpy/_builtins/__init__.py,sha256=A3yAO7csfa62LFZLIgZf2-EhiRqmLBauoxATG-Sq4GQ,887
313
+ tpyc/_data/lib/tpy/tpy/_builtins/_bytes.py,sha256=89kaGOhwmlXLxC_JXFDPEPWG0WP61lHUyEM22aG5aU4,10427
314
+ tpyc/_data/lib/tpy/tpy/_builtins/_dict.py,sha256=zAhJshmjCweLQZX8rKL196YM6MEJwcCaTQFJVdExp-c,3972
315
+ tpyc/_data/lib/tpy/tpy/_builtins/_exceptions.py,sha256=H06a781sZNeeep456SOhA6LJ5QwavGFO8HB5r7lfXDg,4742
316
+ tpyc/_data/lib/tpy/tpy/_builtins/_funcs.py,sha256=nzk5EMsDQ0sz_TwebHfEoscqpX5zP5a5j-8M26nmJI0,14364
317
+ tpyc/_data/lib/tpy/tpy/_builtins/_io.py,sha256=1mfzWX4p09Ef3oQx17_p9alSKD4lVAzuit0T0FvPHng,2272
318
+ tpyc/_data/lib/tpy/tpy/_builtins/_list.py,sha256=mpPJy2WcnEjF4g134Yap9mDTV_4jSw92y2arknr-F5w,3753
319
+ tpyc/_data/lib/tpy/tpy/_builtins/_range.py,sha256=F6wDqFnW-dNSJuokxnPhwPSneUFeQeImp0gnrEBgfjs,1536
320
+ tpyc/_data/lib/tpy/tpy/_builtins/_set.py,sha256=QuflEy7-GdPdBZwHGBMS9wJ2uM_kCP-59OlZsfsQgFQ,3993
321
+ tpyc/_data/lib/tpy/tpy/_builtins/_super.py,sha256=C0rGUpkImmwSds4F9rsM7KlDWMzBTw7EclZ3qgCWA4w,482
322
+ tpyc/_data/lib/tpy/tpy/_builtins/_types.py,sha256=5lC7jqoUefIhHcNcOSiHLWv96x5jYWwKGkZGPCZaNPs,21241
323
+ tpyc/_data/lib/tpy/tpy/_core/__init__.py,sha256=guUHoCVGnwXQO4r8Xi0a_xnmvQ59htZt5ioi3TQ39WU,927
324
+ tpyc/_data/lib/tpy/tpy/_core/_bytes_view.py,sha256=e9g3yv6erNy9GwKD-XGOfo2hH2OUInwclD9vyHyTxJU,3312
325
+ tpyc/_data/lib/tpy/tpy/_core/_containers.py,sha256=4sySiTYAyKpwK1bj7a4QssNwHCc5m6eW_0CH_rNuQYI,3663
326
+ tpyc/_data/lib/tpy/tpy/_core/_functions.py,sha256=0ke8u0_chQS6O_RCaUFHYY6f0VGLBnLSqgC31M8BVuE,1001
327
+ tpyc/_data/lib/tpy/tpy/_core/_types.py,sha256=HZKfXL4ue5YFWh2jaGoTyxQ07msoQc2Xy63KE81lXzo,75269
328
+ tpyc/_data/lib/tpy/tpy/_typing/__init__.py,sha256=Hohk7Qj_awxt2Td8AP9V9RY-6BF_6gmO6ZtgTHAJUAw,1824
329
+ tpyc/_data/lib/tpy/tpy/coro/__init__.py,sha256=kj1-KdNAtrztPzIhF5vo5zmnMtyiKU9rupmx0aZ3ltg,4904
330
+ tpy_lang-0.3.0.dev0.dist-info/METADATA,sha256=Su7mJRkKAjnQ4RHowrp6ZHQZf7UO3Ue2Z-Rk-vX_x-U,5841
331
+ tpy_lang-0.3.0.dev0.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
332
+ tpy_lang-0.3.0.dev0.dist-info/entry_points.txt,sha256=zuX9hv-TAkFnIFx1YppNUXRVEATOpHW3osSTV1jmhjY,68
333
+ tpy_lang-0.3.0.dev0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.29.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ tpy = tpyc.cli:main_tpy
3
+ tpyc = tpyc.cli:main_tpyc
tpyc/__init__.py ADDED
@@ -0,0 +1,104 @@
1
+ """
2
+ TurboPython Compiler (tpyc)
3
+
4
+ A proof-of-concept compiler for TurboPython, a restricted Python-syntax
5
+ language that compiles to C++ for ultra-low-latency applications.
6
+ """
7
+
8
+ import re
9
+ from pathlib import Path
10
+
11
+
12
+ def _resolve_data_dir(name: str) -> Path:
13
+ """Find a data directory (runtime, lib) in dev or installed layout."""
14
+ # Dev layout: tpyc/ is next to runtime/ and lib/
15
+ dev_path = Path(__file__).parent.parent / name
16
+ if dev_path.is_dir():
17
+ return dev_path
18
+ # Installed layout: hatchling puts them under tpyc/_data/
19
+ return Path(__file__).parent / "_data" / name
20
+
21
+
22
+ def get_runtime_dir() -> Path:
23
+ return _resolve_data_dir("runtime")
24
+
25
+
26
+ def get_lib_dir() -> Path:
27
+ return _resolve_data_dir("lib")
28
+
29
+
30
+ def get_docs_dir() -> Path:
31
+ return _resolve_data_dir("docs")
32
+
33
+
34
+ # Defined before sub-module imports so that macro_api (imported via sema)
35
+ # can re-export them without hitting a circular-import partial-init state.
36
+ __version__ = "0.3.0.dev0"
37
+
38
+
39
+ def _parse_version_info(v: str) -> tuple[int, int, int, str, int]:
40
+ """Parse a PEP 440 version string into a CPython-style version_info tuple.
41
+
42
+ Shape: (major, minor, micro, releaselevel, serial).
43
+ releaselevel: "alpha" | "beta" | "candidate" | "final" | "dev".
44
+
45
+ Raises ValueError if the version string doesn't match one of the
46
+ supported PEP 440 forms: X.Y.Z, X.Y.ZaN, X.Y.ZbN, X.Y.ZrcN, X.Y.Z.devN.
47
+ """
48
+ # Two alternate suffix shapes: a/b/rc attach directly (no dot);
49
+ # .dev is preceded by a dot. Explicit alternation keeps each form
50
+ # separate rather than smuggling the dot into the captured group.
51
+ m = re.match(
52
+ r"^(\d+)\.(\d+)\.(\d+)(?:(a|b|rc)(\d+)|\.dev(\d+))?$", v)
53
+ if not m:
54
+ raise ValueError(f"invalid PEP 440 version: {v!r}")
55
+ major, minor, micro = int(m[1]), int(m[2]), int(m[3])
56
+ if m[4] is not None: # a/b/rc suffix
57
+ level = {"a": "alpha", "b": "beta", "rc": "candidate"}[m[4]]
58
+ serial = int(m[5])
59
+ elif m[6] is not None: # .dev suffix
60
+ level, serial = "dev", int(m[6])
61
+ else:
62
+ level, serial = "final", 0
63
+ return (major, minor, micro, level, serial)
64
+
65
+
66
+ VERSION_INFO: tuple[int, int, int, str, int] = _parse_version_info(__version__)
67
+
68
+
69
+ from .typesys import (
70
+ TpyType, VoidType, NominalType, PtrType, is_readonly_ptr,
71
+ INT32, VOID, TypeRegistry
72
+ )
73
+ from .parse import Parser, ParseError, TpyModule
74
+ from .sema import SemanticAnalyzer, SemanticError
75
+ from .codegen_cpp import CodeGenerator
76
+
77
+
78
+ def get_git_commit() -> str:
79
+ """Return git commit: from _buildinfo (installed) or live git (dev)."""
80
+ try:
81
+ from ._buildinfo import GIT_COMMIT
82
+ return GIT_COMMIT
83
+ except ImportError:
84
+ pass
85
+ import subprocess
86
+ try:
87
+ r = subprocess.run(
88
+ ["git", "describe", "--always", "--dirty"],
89
+ cwd=str(Path(__file__).parent.parent),
90
+ capture_output=True, text=True, timeout=5,
91
+ )
92
+ if r.returncode == 0:
93
+ return r.stdout.strip()
94
+ except Exception:
95
+ pass
96
+ return "unknown"
97
+ __all__ = [
98
+ "Parser", "ParseError",
99
+ "SemanticAnalyzer", "SemanticError",
100
+ "CodeGenerator",
101
+ "TpyType", "VoidType", "NominalType",
102
+ "PtrType", "is_readonly_ptr",
103
+ "INT32", "VOID", "TypeRegistry", "TpyModule"
104
+ ]
tpyc/__main__.py ADDED
@@ -0,0 +1,6 @@
1
+ """Allow running as: python -m tpyc"""
2
+ from .cli import main_tpyc
3
+ import sys
4
+
5
+ if __name__ == "__main__":
6
+ sys.exit(main_tpyc())
tpyc/_buildinfo.py ADDED
@@ -0,0 +1 @@
1
+ GIT_COMMIT = "v0.2.0-245-g6b3e689a3-dirty"