rp 0.1.1391__tar.gz → 0.1.1392__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (413) hide show
  1. {rp-0.1.1391 → rp-0.1.1392}/PKG-INFO +1 -1
  2. rp-0.1.1392/rp/libs/kitten_tts_server.py +106 -0
  3. rp-0.1.1392/rp/libs/supertonic_tts_server.py +315 -0
  4. rp-0.1.1392/rp/version.py +1 -0
  5. {rp-0.1.1391 → rp-0.1.1392}/rp.egg-info/PKG-INFO +1 -1
  6. {rp-0.1.1391 → rp-0.1.1392}/rp.egg-info/SOURCES.txt +2 -0
  7. rp-0.1.1392/version.py +1 -0
  8. rp-0.1.1391/rp/version.py +0 -1
  9. rp-0.1.1391/version.py +0 -1
  10. {rp-0.1.1391 → rp-0.1.1392}/.gitignore +0 -0
  11. {rp-0.1.1391 → rp-0.1.1392}/.idea/QuickPython.iml +0 -0
  12. {rp-0.1.1391 → rp-0.1.1392}/.idea/QuickPython.time +0 -0
  13. {rp-0.1.1391 → rp-0.1.1392}/.idea/encodings.xml +0 -0
  14. {rp-0.1.1391 → rp-0.1.1392}/.idea/inspectionProfiles/Project_Default.xml +0 -0
  15. {rp-0.1.1391 → rp-0.1.1392}/.idea/misc.xml +0 -0
  16. {rp-0.1.1391 → rp-0.1.1392}/.idea/modules.xml +0 -0
  17. {rp-0.1.1391 → rp-0.1.1392}/.idea/vcs.xml +0 -0
  18. {rp-0.1.1391 → rp-0.1.1392}/.idea/workspace.xml +0 -0
  19. {rp-0.1.1391 → rp-0.1.1392}/.publish.sh.un~ +0 -0
  20. {rp-0.1.1391 → rp-0.1.1392}/.setup.py.un~ +0 -0
  21. {rp-0.1.1391 → rp-0.1.1392}/.update_module_paths.py.un~ +0 -0
  22. {rp-0.1.1391 → rp-0.1.1392}/LICENSE.txt +0 -0
  23. {rp-0.1.1391 → rp-0.1.1392}/README +0 -0
  24. {rp-0.1.1391 → rp-0.1.1392}/Scrap +0 -0
  25. {rp-0.1.1391 → rp-0.1.1392}/aoisdasd +0 -0
  26. {rp-0.1.1391 → rp-0.1.1392}/increment_version.py +0 -0
  27. {rp-0.1.1391 → rp-0.1.1392}/oijio +0 -0
  28. {rp-0.1.1391 → rp-0.1.1392}/publish.sh +0 -0
  29. {rp-0.1.1391 → rp-0.1.1392}/pyqtconsoletest.py +0 -0
  30. {rp-0.1.1391 → rp-0.1.1392}/rp/__init__.py +0 -0
  31. {rp-0.1.1391 → rp-0.1.1392}/rp/__main__.py +0 -0
  32. {rp-0.1.1391 → rp-0.1.1392}/rp/documentation.py +0 -0
  33. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/Pyperclip.py +0 -0
  34. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/__init__.py +0 -0
  35. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/debug_comment.py +0 -0
  36. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/draw_code_minimap.py +0 -0
  37. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/graveyard.py +0 -0
  38. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/__init__.py +0 -0
  39. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/_compatibility.py +0 -0
  40. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/cache.py +0 -0
  41. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/file_io.py +0 -0
  42. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/grammar.py +0 -0
  43. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/normalizer.py +0 -0
  44. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/parser.py +0 -0
  45. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/pgen2/__init__.py +0 -0
  46. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/pgen2/generator.py +0 -0
  47. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/pgen2/grammar_parser.py +0 -0
  48. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/python/__init__.py +0 -0
  49. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/python/diff.py +0 -0
  50. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/python/errors.py +0 -0
  51. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/python/grammar26.txt +0 -0
  52. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/python/grammar27.txt +0 -0
  53. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/python/grammar310.txt +0 -0
  54. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/python/grammar311.txt +0 -0
  55. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/python/grammar312.txt +0 -0
  56. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/python/grammar33.txt +0 -0
  57. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/python/grammar34.txt +0 -0
  58. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/python/grammar35.txt +0 -0
  59. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/python/grammar36.txt +0 -0
  60. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/python/grammar37.txt +0 -0
  61. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/python/grammar38.txt +0 -0
  62. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/python/grammar39.txt +0 -0
  63. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/python/parser.py +0 -0
  64. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/python/pep8.py +0 -0
  65. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/python/prefix.py +0 -0
  66. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/python/token.py +0 -0
  67. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/python/tokenize.py +0 -0
  68. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/python/tree.py +0 -0
  69. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/tree.py +0 -0
  70. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/parso/utils.py +0 -0
  71. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/peepdis/__init__.py +0 -0
  72. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/peepdis/core.py +0 -0
  73. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/peepdis/datastructures.py +0 -0
  74. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/peepdis/legacy.py +0 -0
  75. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/peepdis/preferences.py +0 -0
  76. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/powerpoint/__init__.py +0 -0
  77. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/powerpoint/__main__.py +0 -0
  78. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/powerpoint/convert_pptx_videos_to_gifs.py +0 -0
  79. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/powerpoint/convert_tmux.py +0 -0
  80. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/powerpoint/google_slides_upload.py +0 -0
  81. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/powerpoint/media_to_slides.py +0 -0
  82. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/powerpoint/pptx_utils.py +0 -0
  83. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/powerpoint_converter.py +0 -0
  84. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/profile_vim_plugins.py +0 -0
  85. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pw_crypt.py +0 -0
  86. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyflann/__init__.py +0 -0
  87. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyflann/bindings/__init__.py +0 -0
  88. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyflann/bindings/flann_ctypes.py +0 -0
  89. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyflann/exceptions.py +0 -0
  90. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyflann/index.py +0 -0
  91. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyflann/io/__init__.py +0 -0
  92. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyflann/io/binary_dataset.py +0 -0
  93. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyflann/io/dat_dataset.py +0 -0
  94. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyflann/io/dataset.py +0 -0
  95. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyflann/io/hdf5_dataset.py +0 -0
  96. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyflann/io/npy_dataset.py +0 -0
  97. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyflann/util/__init__.py +0 -0
  98. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyflann/util/weave_tools.py +0 -0
  99. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/__init__.py +0 -0
  100. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/__version__.py +0 -0
  101. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/app.py +0 -0
  102. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/cli.py +0 -0
  103. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/cli_utils.py +0 -0
  104. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/config/__init__.py +0 -0
  105. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/config/config.py +0 -0
  106. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/config/config_error.py +0 -0
  107. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/config/config_parser.py +0 -0
  108. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/config/config_transformer.py +0 -0
  109. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/config/validators/__init__.py +0 -0
  110. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/config/validators/options.py +0 -0
  111. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/logging.py +0 -0
  112. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/model/__init__.py +0 -0
  113. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/model/autocomplete/__init__.py +0 -0
  114. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/model/autocomplete/autocomplete_listener.py +0 -0
  115. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/model/common/__init__.py +0 -0
  116. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/model/common/jsonpath/JSONPathLexer.py +0 -0
  117. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/model/common/jsonpath/JSONPathListener.py +0 -0
  118. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/model/common/jsonpath/JSONPathParser.py +0 -0
  119. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/model/common/jsonpath/__init__.py +0 -0
  120. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/model/io/__init__.py +0 -0
  121. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/model/io/datasource.py +0 -0
  122. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/model/model.py +0 -0
  123. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/service/__init__.py +0 -0
  124. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/service/client.py +0 -0
  125. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/service/dispatcher.py +0 -0
  126. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/__init__.py +0 -0
  127. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/common/__init__.py +0 -0
  128. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/common/popup.py +0 -0
  129. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/common/selectable_text.py +0 -0
  130. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/components/__init__.py +0 -0
  131. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/components/autocomplete_popup/__init__.py +0 -0
  132. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/components/autocomplete_popup/autocomplete_popup.py +0 -0
  133. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/components/autocomplete_popup/autocomplete_popup_keymapper.py +0 -0
  134. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/components/help_bar/__init__.py +0 -0
  135. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/components/help_bar/help_bar.py +0 -0
  136. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/components/help_page/__init__.py +0 -0
  137. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/components/help_page/detailed_help_page.py +0 -0
  138. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/components/json_browser/__init__.py +0 -0
  139. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/components/json_browser/json_browser.py +0 -0
  140. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/components/json_browser/json_browser_keymapper.py +0 -0
  141. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/components/query_bar/__init__.py +0 -0
  142. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/components/query_bar/query_bar.py +0 -0
  143. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/components/query_bar/query_bar_keymapper.py +0 -0
  144. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/__init__.py +0 -0
  145. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/array/__init__.py +0 -0
  146. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/array/array_end_node.py +0 -0
  147. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/array/array_end_widget.py +0 -0
  148. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/array/array_node.py +0 -0
  149. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/array/array_start_widget.py +0 -0
  150. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/array/array_unexpanded_widget.py +0 -0
  151. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/json_composite_end_node.py +0 -0
  152. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/json_composite_node.py +0 -0
  153. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/json_listbox.py +0 -0
  154. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/json_listwalker.py +0 -0
  155. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/json_simple_node.py +0 -0
  156. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/json_widget.py +0 -0
  157. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/node_factory.py +0 -0
  158. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/object/__init__.py +0 -0
  159. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/object/object_end_node.py +0 -0
  160. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/object/object_end_widget.py +0 -0
  161. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/object/object_node.py +0 -0
  162. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/object/object_start_widget.py +0 -0
  163. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/object/object_unexpanded_widget.py +0 -0
  164. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/primitive/__init__.py +0 -0
  165. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/primitive/base.py +0 -0
  166. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/primitive/boolean.py +0 -0
  167. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/primitive/generic.py +0 -0
  168. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/primitive/integer.py +0 -0
  169. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/primitive/null.py +0 -0
  170. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/primitive/numeric.py +0 -0
  171. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/primitive/string.py +0 -0
  172. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/json_lib/selector/__init__.py +0 -0
  173. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/keymapper/__init__.py +0 -0
  174. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/keymapper/abstract_component_keymapper.py +0 -0
  175. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/keymapper/keymapper.py +0 -0
  176. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/keymapper/keymapper_config.py +0 -0
  177. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/keymapper/keymapper_config_parser.py +0 -0
  178. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/theme/__init__.py +0 -0
  179. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/theme/theme.py +0 -0
  180. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/theme/theme_config.py +0 -0
  181. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/theme/theme_config_parser.py +0 -0
  182. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/view_config.py +0 -0
  183. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/view_frame.py +0 -0
  184. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pyfx/view/view_manager.py +0 -0
  185. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pynput_recorder.py +0 -0
  186. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pypi_inspection.py +0 -0
  187. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/pytorch_module_explorer.py +0 -0
  188. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/refactor/string_format/__init__.py +0 -0
  189. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/refactor/string_format/format_to_fstring_converter.py +0 -0
  190. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/refactor/string_format/fstring_converter.py +0 -0
  191. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/refactor/string_format/test_format_to_fstring_converter.py +0 -0
  192. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/refactor/string_format/test_fstring_converter.py +0 -0
  193. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/rp_black_macchiato.py +0 -0
  194. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/stamp_tensor.py +0 -0
  195. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/stdin_python_highlighter.py +0 -0
  196. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/tetris/__init__.py +0 -0
  197. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/tetris/__main__.py +0 -0
  198. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/tetris/graphics/graphics/__init__.py +0 -0
  199. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/tetris/graphics/graphics/canvas.py +0 -0
  200. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/tetris/graphics/graphics/colors.py +0 -0
  201. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/tetris/graphics/graphics/console.py +0 -0
  202. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/tetris/graphics/graphics/funcs.py +0 -0
  203. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/tetris/graphics/graphics/nbinput.py +0 -0
  204. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/tetris/graphics/graphics/shapes.py +0 -0
  205. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/tetris/graphics/graphics/sprite.py +0 -0
  206. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/tetris/letters.py +0 -0
  207. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/tetris/tetrisShapes.py +0 -0
  208. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/timg/__init__.py +0 -0
  209. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/timg/__main__.py +0 -0
  210. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/timg/argparser.py +0 -0
  211. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/timg/meta.py +0 -0
  212. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/timg/methods/__init__.py +0 -0
  213. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/timg/methods/ansi.py +0 -0
  214. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/timg/methods/ansi_methods.py +0 -0
  215. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/timg/methods/ascii.py +0 -0
  216. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/timg/methods/method.py +0 -0
  217. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/timg/methods/sixel.py +0 -0
  218. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/timg/renderer.py +0 -0
  219. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/torch_hooks.py +0 -0
  220. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/torch_tools.py +0 -0
  221. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/tracetraptest.py +0 -0
  222. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/tweenline.py +0 -0
  223. {rp-0.1.1391 → rp-0.1.1392}/rp/libs/webeval_dataset.py +0 -0
  224. {rp-0.1.1391 → rp-0.1.1392}/rp/list_of_modules.py +0 -0
  225. {rp-0.1.1391 → rp-0.1.1392}/rp/misc/Todo +0 -0
  226. {rp-0.1.1391 → rp-0.1.1392}/rp/misc/__init__.py +0 -0
  227. {rp-0.1.1391 → rp-0.1.1392}/rp/misc/blm.py +0 -0
  228. {rp-0.1.1391 → rp-0.1.1392}/rp/misc/chainsaw.py +0 -0
  229. {rp-0.1.1391 → rp-0.1.1392}/rp/misc/claude_bash.sh +0 -0
  230. {rp-0.1.1391 → rp-0.1.1392}/rp/misc/claude_panel.py +0 -0
  231. {rp-0.1.1391 → rp-0.1.1392}/rp/misc/death_of_the_mind.py +0 -0
  232. {rp-0.1.1391 → rp-0.1.1392}/rp/misc/flappy.py +0 -0
  233. {rp-0.1.1391 → rp-0.1.1392}/rp/misc/mario.py +0 -0
  234. {rp-0.1.1391 → rp-0.1.1392}/rp/misc/matrix.py +0 -0
  235. {rp-0.1.1391 → rp-0.1.1392}/rp/misc/mpi_untitled.py +0 -0
  236. {rp-0.1.1391 → rp-0.1.1392}/rp/misc/py2048.py +0 -0
  237. {rp-0.1.1391 → rp-0.1.1392}/rp/misc/pychess.py +0 -0
  238. {rp-0.1.1391 → rp-0.1.1392}/rp/misc/rp_logo.svg +0 -0
  239. {rp-0.1.1391 → rp-0.1.1392}/rp/misc/rp_mpi.py +0 -0
  240. {rp-0.1.1391 → rp-0.1.1392}/rp/misc/ryan_zshrc.py +0 -0
  241. {rp-0.1.1391 → rp-0.1.1392}/rp/misc/shotgun.py +0 -0
  242. {rp-0.1.1391 → rp-0.1.1392}/rp/misc/skia_trail_interactive_paint_demo.py +0 -0
  243. {rp-0.1.1391 → rp-0.1.1392}/rp/misc/snake.py +0 -0
  244. {rp-0.1.1391 → rp-0.1.1392}/rp/misc/sudoku.py +0 -0
  245. {rp-0.1.1391 → rp-0.1.1392}/rp/misc/tetris.py +0 -0
  246. {rp-0.1.1391 → rp-0.1.1392}/rp/misc/trans.py +0 -0
  247. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/__init__.py +0 -0
  248. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/application.py +0 -0
  249. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/auto_suggest.py +0 -0
  250. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/buffer.py +0 -0
  251. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/buffer_mapping.py +0 -0
  252. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/cache.py +0 -0
  253. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/clipboard/__init__.py +0 -0
  254. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/clipboard/base.py +0 -0
  255. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/clipboard/in_memory.py +0 -0
  256. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/clipboard/pyperclip.py +0 -0
  257. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/completion.py +0 -0
  258. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/contrib/__init__.py +0 -0
  259. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/contrib/completers/__init__.py +0 -0
  260. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/contrib/completers/base.py +0 -0
  261. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/contrib/completers/filesystem.py +0 -0
  262. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/contrib/completers/system.py +0 -0
  263. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/contrib/regular_languages/__init__.py +0 -0
  264. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/contrib/regular_languages/compiler.py +0 -0
  265. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/contrib/regular_languages/completion.py +0 -0
  266. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/contrib/regular_languages/lexer.py +0 -0
  267. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/contrib/regular_languages/regex_parser.py +0 -0
  268. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/contrib/regular_languages/validation.py +0 -0
  269. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/contrib/telnet/__init__.py +0 -0
  270. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/contrib/telnet/application.py +0 -0
  271. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/contrib/telnet/log.py +0 -0
  272. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/contrib/telnet/protocol.py +0 -0
  273. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/contrib/telnet/server.py +0 -0
  274. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/contrib/validators/__init__.py +0 -0
  275. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/contrib/validators/base.py +0 -0
  276. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/document.py +0 -0
  277. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/enums.py +0 -0
  278. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/eventloop/__init__.py +0 -0
  279. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/eventloop/asyncio_base.py +0 -0
  280. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/eventloop/asyncio_posix.py +0 -0
  281. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/eventloop/asyncio_win32.py +0 -0
  282. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/eventloop/base.py +0 -0
  283. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/eventloop/callbacks.py +0 -0
  284. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/eventloop/inputhook.py +0 -0
  285. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/eventloop/posix.py +0 -0
  286. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/eventloop/posix_utils.py +0 -0
  287. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/eventloop/select.py +0 -0
  288. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/eventloop/utils.py +0 -0
  289. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/eventloop/win32.py +0 -0
  290. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/filters/__init__.py +0 -0
  291. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/filters/base.py +0 -0
  292. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/filters/cli.py +0 -0
  293. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/filters/types.py +0 -0
  294. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/filters/utils.py +0 -0
  295. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/history.py +0 -0
  296. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/input.py +0 -0
  297. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/interface.py +0 -0
  298. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/key_binding/__init__.py +0 -0
  299. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/key_binding/bindings/__init__.py +0 -0
  300. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/key_binding/bindings/basic.py +0 -0
  301. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/key_binding/bindings/completion.py +0 -0
  302. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/key_binding/bindings/emacs.py +0 -0
  303. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/key_binding/bindings/named_commands.py +0 -0
  304. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/key_binding/bindings/scroll.py +0 -0
  305. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/key_binding/bindings/vi.py +0 -0
  306. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/key_binding/defaults.py +0 -0
  307. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/key_binding/digraphs.py +0 -0
  308. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/key_binding/input_processor.py +0 -0
  309. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/key_binding/manager.py +0 -0
  310. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/key_binding/registry.py +0 -0
  311. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/key_binding/vi_state.py +0 -0
  312. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/keys.py +0 -0
  313. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/layout/__init__.py +0 -0
  314. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/layout/containers.py +0 -0
  315. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/layout/controls.py +0 -0
  316. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/layout/dimension.py +0 -0
  317. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/layout/lexers.py +0 -0
  318. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/layout/margins.py +0 -0
  319. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/layout/menus.py +0 -0
  320. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/layout/mouse_handlers.py +0 -0
  321. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/layout/processors.py +0 -0
  322. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/layout/prompt.py +0 -0
  323. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/layout/screen.py +0 -0
  324. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/layout/toolbars.py +0 -0
  325. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/layout/untitled.py +0 -0
  326. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/layout/utils.py +0 -0
  327. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/mouse_events.py +0 -0
  328. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/output.py +0 -0
  329. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/reactive.py +0 -0
  330. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/renderer.py +0 -0
  331. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/search_state.py +0 -0
  332. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/selection.py +0 -0
  333. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/shortcuts.py +0 -0
  334. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/styles/__init__.py +0 -0
  335. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/styles/base.py +0 -0
  336. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/styles/defaults.py +0 -0
  337. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/styles/from_dict.py +0 -0
  338. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/styles/from_pygments.py +0 -0
  339. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/styles/utils.py +0 -0
  340. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/terminal/__init__.py +0 -0
  341. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/terminal/conemu_output.py +0 -0
  342. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/terminal/vt100_input.py +0 -0
  343. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/terminal/vt100_output.py +0 -0
  344. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/terminal/win32_input.py +0 -0
  345. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/terminal/win32_output.py +0 -0
  346. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/token.py +0 -0
  347. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/utils.py +0 -0
  348. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/validation.py +0 -0
  349. {rp-0.1.1391 → rp-0.1.1392}/rp/prompt_toolkit/win32_types.py +0 -0
  350. {rp-0.1.1391 → rp-0.1.1392}/rp/r.py +0 -0
  351. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/__init__.py +0 -0
  352. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/__main__.py +0 -0
  353. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/ast_selection.py +0 -0
  354. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/async_analyzer_base.py +0 -0
  355. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/async_jedi_highlighter.py +0 -0
  356. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/backslash_commands.py +0 -0
  357. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/bash_completer.py +0 -0
  358. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/bash_extract.py +0 -0
  359. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/bash_inline.py +0 -0
  360. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/bash_rename.py +0 -0
  361. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/bash_selection.py +0 -0
  362. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/completer.py +0 -0
  363. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/completer_old.py +0 -0
  364. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/completion_ranker.py +0 -0
  365. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/completion_schema.py +0 -0
  366. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/completion_types.py +0 -0
  367. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/eventloop.py +0 -0
  368. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/filters.py +0 -0
  369. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/history_browser.py +0 -0
  370. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/ipython.py +0 -0
  371. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/jedi_highlighter.py +0 -0
  372. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/jedi_lexer.py +0 -0
  373. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/jedi_utils.py +0 -0
  374. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/key_bindings.py +0 -0
  375. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/layout.py +0 -0
  376. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/patch_linecache.py +0 -0
  377. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/path_completer_utils.py +0 -0
  378. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/prompt_style.py +0 -0
  379. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/python_input.py +0 -0
  380. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/r_iterm_comm.py +0 -0
  381. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/refactor_extract.py +0 -0
  382. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/refactor_inline.py +0 -0
  383. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/refactor_move.py +0 -0
  384. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/refactor_move_bash.py +0 -0
  385. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/refactor_rename.py +0 -0
  386. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/repl.py +0 -0
  387. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/rp_ptpdb/__init__.py +0 -0
  388. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/rp_ptpdb/commands.py +0 -0
  389. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/rp_ptpdb/completers.py +0 -0
  390. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/rp_ptpdb/completion_hints.py +0 -0
  391. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/rp_ptpdb/grammar.py +0 -0
  392. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/rp_ptpdb/key_bindings.py +0 -0
  393. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/rp_ptpdb/layout.py +0 -0
  394. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/rp_ptpdb/style.py +0 -0
  395. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/rp_ptpdb/toolbars.py +0 -0
  396. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/selection_utils.py +0 -0
  397. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/style.py +0 -0
  398. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/testable_keybindings.py +0 -0
  399. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/treesitter_selection.py +0 -0
  400. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/treesitter_semantic.py +0 -0
  401. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/unreachable_detector.py +0 -0
  402. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/utils.py +0 -0
  403. {rp-0.1.1391 → rp-0.1.1392}/rp/rp_ptpython/validator.py +0 -0
  404. {rp-0.1.1391 → rp-0.1.1392}/rp/ryan_vimrc.py +0 -0
  405. {rp-0.1.1391 → rp-0.1.1392}/rp/web_evaluator.py +0 -0
  406. {rp-0.1.1391 → rp-0.1.1392}/rp.egg-info/dependency_links.txt +0 -0
  407. {rp-0.1.1391 → rp-0.1.1392}/rp.egg-info/entry_points.txt +0 -0
  408. {rp-0.1.1391 → rp-0.1.1392}/rp.egg-info/requires.txt +0 -0
  409. {rp-0.1.1391 → rp-0.1.1392}/rp.egg-info/top_level.txt +0 -0
  410. {rp-0.1.1391 → rp-0.1.1392}/setup.cfg +0 -0
  411. {rp-0.1.1391 → rp-0.1.1392}/setup.py +0 -0
  412. {rp-0.1.1391 → rp-0.1.1392}/untitled.c +0 -0
  413. {rp-0.1.1391 → rp-0.1.1392}/update_module_paths.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.0
2
2
  Name: rp
3
- Version: 0.1.1391
3
+ Version: 0.1.1392
4
4
  Summary: Ryan's Python: IDE + Library + Tools
5
5
  Home-page: https://github.com/RyannDaGreat/rp
6
6
  Author: Ryan Burgert
@@ -0,0 +1,106 @@
1
+ """
2
+ Kitten TTS server.
3
+ Usage: python -m rp.libs.kitten_tts_server run_server [--port=32462]
4
+ python -m rp.libs.kitten_tts_server ensure_server [--port=32462]
5
+ """
6
+ import sys
7
+
8
+ TMUX_SESSION = 'KittenTTS'
9
+ DEFAULT_PORT = 32462
10
+
11
+ def _get_port_from_tmux():
12
+ """Get port from tmux window name if session exists and server is responding."""
13
+ import rp
14
+ if TMUX_SESSION not in rp.tmux_get_all_session_names():
15
+ return None
16
+ # Window name contains port
17
+ window_name = rp.shell_command('tmux list-windows -t ' + TMUX_SESSION + ' -F "#{window_name}" 2>/dev/null').strip().split('\n')[0]
18
+ try:
19
+ port = int(window_name)
20
+ except (ValueError, IndexError):
21
+ return None
22
+ # Check if responding
23
+ if rp.shell_command('curl -s -o /dev/null -w "%{http_code}" http://localhost:' + str(port) + '/ 2>/dev/null').strip() == '200':
24
+ return port
25
+ return None
26
+
27
+ def ensure_server(port=DEFAULT_PORT):
28
+ """Ensure server is running. Returns port."""
29
+ import rp
30
+
31
+ # Check if already running
32
+ existing_port = _get_port_from_tmux()
33
+ if existing_port:
34
+ return existing_port
35
+
36
+ # Kill stale session
37
+ if TMUX_SESSION in rp.tmux_get_all_session_names():
38
+ rp.tmux_kill_session(TMUX_SESSION)
39
+
40
+ # Find free port
41
+ port = rp.get_next_free_port(port)
42
+
43
+ # Start in tmux with window name = port
44
+ cmd = sys.executable + ' -m rp.libs.kitten_tts_server run_server --port=' + str(port)
45
+ rp.shell_command('tmux new-session -d -s ' + TMUX_SESSION + ' -n ' + str(port) + ' ' + rp.shlex.quote(cmd))
46
+
47
+ # Wait for ready
48
+ for _ in range(60):
49
+ if rp.shell_command('curl -s -o /dev/null -w "%{http_code}" http://localhost:' + str(port) + '/ 2>/dev/null').strip() == '200':
50
+ return port
51
+ rp.sleep(0.5)
52
+
53
+ raise RuntimeError('Kitten TTS server failed to start on port ' + str(port))
54
+
55
+ def run_server(port=DEFAULT_PORT):
56
+ """Run the server (blocking)."""
57
+ import subprocess
58
+ # Install deps - need specific onnxruntime version for opset compatibility
59
+ subprocess.run([sys.executable, '-m', 'pip', 'install', '-q',
60
+ 'https://github.com/KittenML/KittenTTS/releases/download/0.1/kittentts-0.1.0-py3-none-any.whl',
61
+ 'fastapi', 'uvicorn', 'websockets', 'numpy', 'onnxruntime>=1.20'], stderr=subprocess.DEVNULL)
62
+
63
+ from fastapi import FastAPI, WebSocket, Query
64
+ from fastapi.responses import HTMLResponse
65
+ import uvicorn
66
+ from kittentts import KittenTTS
67
+ import numpy as np
68
+
69
+ app = FastAPI()
70
+ model = None
71
+
72
+ @app.on_event("startup")
73
+ async def load_model():
74
+ nonlocal model
75
+ print('[kitten_tts] Loading model...')
76
+ model = KittenTTS('KittenML/kitten-tts-nano-0.1')
77
+ print('[kitten_tts] Ready on port ' + str(port))
78
+
79
+ @app.get("/")
80
+ async def root():
81
+ return HTMLResponse('<h1>Kitten TTS</h1>')
82
+
83
+ @app.websocket("/stream")
84
+ async def stream_tts(
85
+ websocket: WebSocket,
86
+ text: str = Query(...),
87
+ voice: str = Query(default='expr-voice-3-f'),
88
+ speed: float = Query(default=1.0)
89
+ ):
90
+ await websocket.accept()
91
+ try:
92
+ audio = model.generate(text, voice=voice, speed=speed)
93
+ audio_bytes = (audio * 32767).astype(np.int16).tobytes()
94
+ for i in range(0, len(audio_bytes), 9600):
95
+ await websocket.send_bytes(audio_bytes[i:i + 9600])
96
+ except Exception:
97
+ pass
98
+ await websocket.close()
99
+
100
+ uvicorn.run(app, host='0.0.0.0', port=port)
101
+
102
+ if __name__ == '__main__':
103
+ import rp
104
+ rp.pip_import('fire')
105
+ import fire
106
+ fire.Fire()
@@ -0,0 +1,315 @@
1
+ """
2
+ SuperTonic TTS server - lightning-fast on-device TTS (66M params, 167x realtime).
3
+
4
+ USAGE:
5
+ python -m rp.libs.supertonic_tts_server run_server [--port=7123]
6
+ python -m rp.libs.supertonic_tts_server ensure_server [--port=7123]
7
+
8
+ PYTHON API:
9
+ import rp
10
+ rp.text_to_speech_via_supertonic("Hello world")
11
+ rp.text_to_speech_via_supertonic("Fast", speed=2.0, voice="M1", volume=1.5)
12
+ rp.text_to_speech_via_supertonic_set_defaults(voice="F2", speed=1.5, volume=1.0)
13
+ rp.text_to_speech_via_supertonic_get_defaults()
14
+
15
+ HTTP API ENDPOINTS:
16
+ All endpoints return JSON. Server runs on localhost:7123 by default.
17
+
18
+ GET /health
19
+ Health check. Returns {"status": "ok", "tts": "supertonic", "voices": [...]}
20
+
21
+ GET /defaults
22
+ Get current default settings.
23
+ Returns: {"voice": "F1", "speed": 1.5, "volume": 1.0, "steps": 5}
24
+
25
+ GET /set_defaults?voice=F1&speed=1.5&volume=1.0&steps=5
26
+ Set default voice, speed, volume, and/or steps (persists for all clients).
27
+ Parameters (all optional):
28
+ voice: F1-F5 (female) or M1-M5 (male)
29
+ speed: 0.7 to 2.0 (float)
30
+ volume: 0.0 to 2.0 (float, 1.0 = normal)
31
+ steps: 1 to 10 (int, quality - higher = better but slower)
32
+ Returns: {"ok": true, "defaults": {"voice": "F1", "speed": 1.5, "volume": 1.0, "steps": 5}}
33
+
34
+ GET /speak?text=Hello&voice=F1&speed=1.5&volume=1.0&steps=5
35
+ Synthesize and play text through speakers.
36
+ Parameters:
37
+ text: (required) Text to speak
38
+ voice: (optional) F1-F5 or M1-M5, defaults to server default
39
+ speed: (optional) 0.7-2.0, defaults to server default
40
+ volume: (optional) 0.0-2.0, defaults to server default
41
+ steps: (optional) 1-10, quality steps, defaults to server default
42
+ Returns: {"ok": true, "duration": 1.23, "text": "Hello", "voice": "F1", "speed": 1.5, "volume": 1.0, "steps": 5}
43
+
44
+ POST /speak
45
+ Same as GET but with JSON body: {"text": "Hello", "voice": "F1", "speed": 1.5, "volume": 1.0, "steps": 5}
46
+
47
+ CURL EXAMPLES:
48
+ # Health check
49
+ curl http://localhost:7123/health
50
+
51
+ # Speak text (URL-encoded)
52
+ curl "http://localhost:7123/speak?text=Hello%20world"
53
+
54
+ # Speak with custom voice, speed, and volume
55
+ curl "http://localhost:7123/speak?text=Fast%20speech&voice=M1&speed=2.0&volume=1.5"
56
+
57
+ # Set defaults for all future requests
58
+ curl "http://localhost:7123/set_defaults?voice=F2&speed=1.8&volume=1.0"
59
+
60
+ # Get current defaults
61
+ curl http://localhost:7123/defaults
62
+
63
+ # POST with JSON body
64
+ curl -X POST http://localhost:7123/speak -H "Content-Type: application/json" -d '{"text": "Hello"}'
65
+
66
+ VOICES:
67
+ Female: F1, F2, F3, F4, F5
68
+ Male: M1, M2, M3, M4, M5
69
+
70
+ SPEED:
71
+ Range: 0.7 (slow) to 2.0 (fast)
72
+ Default: 1.5
73
+ Normal speech: 1.0
74
+
75
+ VOLUME:
76
+ Range: 0.0 (mute) to 2.0 (loud)
77
+ Default: 1.0
78
+ Normal: 1.0
79
+
80
+ STEPS (Quality):
81
+ Range: 1 (fast/low quality) to 10 (slow/high quality)
82
+ Default: 5
83
+ Recommended: 3-5 for real-time, 8-10 for offline generation
84
+ """
85
+ import sys
86
+
87
+ TMUX_SESSION = 'SuperTonicTTS'
88
+ DEFAULT_PORT = 7123
89
+ VOICES = ['F1', 'F2', 'F3', 'F4', 'F5', 'M1', 'M2', 'M3', 'M4', 'M5']
90
+
91
+ # Defaults that can be changed at runtime
92
+ _defaults = {
93
+ 'voice': 'F1',
94
+ 'speed': 1.5,
95
+ 'volume': 1.0,
96
+ 'steps': 5, # Quality: 1-10, higher = better quality but slower
97
+ }
98
+
99
+
100
+ def set_defaults(voice=None, speed=None, volume=None, steps=None):
101
+ """Set default voice, speed, volume, and steps for TTS requests."""
102
+ if voice is not None:
103
+ if voice not in VOICES:
104
+ raise ValueError(f'Invalid voice: {voice}. Choose from: {", ".join(VOICES)}')
105
+ _defaults['voice'] = voice
106
+ if speed is not None:
107
+ if not 0.7 <= speed <= 2.0:
108
+ raise ValueError(f'Speed must be between 0.7 and 2.0, got {speed}')
109
+ _defaults['speed'] = speed
110
+ if volume is not None:
111
+ if not 0.0 <= volume <= 2.0:
112
+ raise ValueError(f'Volume must be between 0.0 and 2.0, got {volume}')
113
+ _defaults['volume'] = volume
114
+ if steps is not None:
115
+ if not 1 <= steps <= 10:
116
+ raise ValueError(f'Steps must be between 1 and 10, got {steps}')
117
+ _defaults['steps'] = steps
118
+
119
+
120
+ def get_defaults():
121
+ """Get current default settings."""
122
+ return _defaults.copy()
123
+
124
+
125
+ def _get_port_from_tmux():
126
+ """Get port from tmux window name if session exists and server is responding."""
127
+ import rp
128
+ if TMUX_SESSION not in rp.tmux_get_all_session_names():
129
+ return None
130
+ # Window name contains port
131
+ window_name = rp.shell_command(
132
+ f'tmux list-windows -t {TMUX_SESSION} -F "#{{window_name}}" 2>/dev/null'
133
+ ).strip().split('\n')[0]
134
+ try:
135
+ port = int(window_name)
136
+ except (ValueError, IndexError):
137
+ return None
138
+ # Check if responding
139
+ if rp.shell_command(
140
+ f'curl -s -o /dev/null -w "%{{http_code}}" http://localhost:{port}/health 2>/dev/null'
141
+ ).strip() == '200':
142
+ return port
143
+ return None
144
+
145
+
146
+ def ensure_server(port=DEFAULT_PORT):
147
+ """Ensure server is running. Returns port."""
148
+ import rp
149
+
150
+ # Check if already running
151
+ existing_port = _get_port_from_tmux()
152
+ if existing_port:
153
+ return existing_port
154
+
155
+ # Kill stale session
156
+ if TMUX_SESSION in rp.tmux_get_all_session_names():
157
+ rp.tmux_kill_session(TMUX_SESSION)
158
+
159
+ # Find free port
160
+ port = rp.get_next_free_port(port)
161
+
162
+ # Start in tmux with window name = port
163
+ cmd = f'{sys.executable} -m rp.libs.supertonic_tts_server run_server --port={port}'
164
+ rp.shell_command(f'tmux new-session -d -s {TMUX_SESSION} -n {port} {rp.shlex.quote(cmd)}')
165
+
166
+ # Wait for ready (SuperTonic takes longer to load model)
167
+ print(f'[supertonic_tts] Starting server on port {port}...')
168
+ for i in range(120): # Up to 60 seconds
169
+ if rp.shell_command(
170
+ f'curl -s -o /dev/null -w "%{{http_code}}" http://localhost:{port}/health 2>/dev/null'
171
+ ).strip() == '200':
172
+ print(f'[supertonic_tts] Server ready on port {port}')
173
+ return port
174
+ rp.sleep(0.5)
175
+
176
+ raise RuntimeError(f'SuperTonic TTS server failed to start on port {port}')
177
+
178
+
179
+ def run_server(port=DEFAULT_PORT):
180
+ """Run the server (blocking)."""
181
+ import rp
182
+
183
+ # Ensure dependencies are installed
184
+ print('[supertonic_tts] Checking dependencies...')
185
+ rp.pip_import('supertonic', auto_yes=True)
186
+ rp.pip_import('sounddevice', auto_yes=True)
187
+ rp.pip_import('numpy', auto_yes=True)
188
+
189
+ # Now import normally
190
+ import http.server
191
+ import json
192
+ import socketserver
193
+ import urllib.parse
194
+ import numpy as np
195
+ import sounddevice as sd
196
+ from supertonic import TTS
197
+
198
+ print('[supertonic_tts] Loading model (~305MB on first run)...')
199
+ tts = TTS(auto_download=True)
200
+ print(f'[supertonic_tts] Model loaded. Sample rate: {tts.sample_rate}Hz')
201
+ print(f'[supertonic_tts] Voices: {tts.voice_style_names}')
202
+
203
+ voice_styles = {v: tts.get_voice_style(voice_name=v) for v in tts.voice_style_names}
204
+
205
+ class Handler(http.server.BaseHTTPRequestHandler):
206
+ def log_message(self, fmt, *args):
207
+ print(f'[supertonic_tts] {args[0]}')
208
+
209
+ def _send_json(self, data, status=200):
210
+ body = json.dumps(data).encode()
211
+ self.send_response(status)
212
+ self.send_header('Content-Type', 'application/json')
213
+ self.send_header('Content-Length', len(body))
214
+ self.end_headers()
215
+ self.wfile.write(body)
216
+
217
+ def do_GET(self):
218
+ parsed = urllib.parse.urlparse(self.path)
219
+ params = urllib.parse.parse_qs(parsed.query)
220
+
221
+ if parsed.path == '/health':
222
+ self._send_json({'status': 'ok', 'tts': 'supertonic', 'voices': VOICES})
223
+ return
224
+
225
+ if parsed.path == '/defaults':
226
+ self._send_json(_defaults)
227
+ return
228
+
229
+ if parsed.path == '/set_defaults':
230
+ voice = params.get('voice', [None])[0]
231
+ speed = params.get('speed', [None])[0]
232
+ volume = params.get('volume', [None])[0]
233
+ steps = params.get('steps', [None])[0]
234
+ try:
235
+ set_defaults(
236
+ voice=voice,
237
+ speed=float(speed) if speed else None,
238
+ volume=float(volume) if volume else None,
239
+ steps=int(steps) if steps else None
240
+ )
241
+ self._send_json({'ok': True, 'defaults': _defaults})
242
+ except ValueError as e:
243
+ self._send_json({'error': str(e)}, 400)
244
+ return
245
+
246
+ if parsed.path != '/speak':
247
+ self._send_json({'error': 'Use GET /speak?text=...'}, 404)
248
+ return
249
+
250
+ text = params.get('text', [''])[0]
251
+ voice = params.get('voice', [_defaults['voice']])[0]
252
+ speed_str = params.get('speed', [None])[0]
253
+ speed = float(speed_str) if speed_str else _defaults['speed']
254
+ volume_str = params.get('volume', [None])[0]
255
+ volume = float(volume_str) if volume_str else _defaults['volume']
256
+ steps_str = params.get('steps', [None])[0]
257
+ steps = int(steps_str) if steps_str else _defaults['steps']
258
+
259
+ if not text:
260
+ self._send_json({'error': 'Missing text parameter'}, 400)
261
+ return
262
+
263
+ if voice not in voice_styles:
264
+ self._send_json({'error': f'Invalid voice: {voice}'}, 400)
265
+ return
266
+
267
+ try:
268
+ wav, duration = tts.synthesize(
269
+ text,
270
+ voice_style=voice_styles[voice],
271
+ lang='en',
272
+ speed=speed,
273
+ total_steps=steps
274
+ )
275
+ wav = np.squeeze(wav)
276
+ # Apply volume scaling
277
+ if volume != 1.0:
278
+ wav = wav * volume
279
+ sd.play(wav, samplerate=tts.sample_rate)
280
+ sd.wait()
281
+ dur = float(duration[0]) if hasattr(duration, '__getitem__') else float(duration)
282
+ self._send_json({'ok': True, 'duration': dur, 'text': text, 'voice': voice, 'speed': speed, 'volume': volume, 'steps': steps})
283
+ except Exception as e:
284
+ self._send_json({'error': str(e)}, 500)
285
+
286
+ def do_POST(self):
287
+ content_length = int(self.headers.get('Content-Length', 0))
288
+ body = self.rfile.read(content_length).decode()
289
+
290
+ try:
291
+ data = json.loads(body) if body else {}
292
+ except json.JSONDecodeError:
293
+ data = {'text': body}
294
+
295
+ # Redirect to GET handler with params
296
+ text = data.get('text', '')
297
+ voice = data.get('voice', _defaults['voice'])
298
+ speed = data.get('speed', _defaults['speed'])
299
+
300
+ self.path = f'/speak?text={urllib.parse.quote(text)}&voice={voice}&speed={speed}'
301
+ self.do_GET()
302
+
303
+ class ThreadedServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
304
+ allow_reuse_address = True
305
+
306
+ with ThreadedServer(('0.0.0.0', port), Handler) as server:
307
+ print(f'[supertonic_tts] Ready on http://localhost:{port}')
308
+ server.serve_forever()
309
+
310
+
311
+ if __name__ == '__main__':
312
+ import rp
313
+ rp.pip_import('fire')
314
+ import fire
315
+ fire.Fire()
@@ -0,0 +1 @@
1
+ 1392
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.0
2
2
  Name: rp
3
- Version: 0.1.1391
3
+ Version: 0.1.1392
4
4
  Summary: Ryan's Python: IDE + Library + Tools
5
5
  Home-page: https://github.com/RyannDaGreat/rp
6
6
  Author: Ryan Burgert
@@ -41,6 +41,7 @@ rp/libs/__init__.py
41
41
  rp/libs/debug_comment.py
42
42
  rp/libs/draw_code_minimap.py
43
43
  rp/libs/graveyard.py
44
+ rp/libs/kitten_tts_server.py
44
45
  rp/libs/powerpoint_converter.py
45
46
  rp/libs/profile_vim_plugins.py
46
47
  rp/libs/pw_crypt.py
@@ -50,6 +51,7 @@ rp/libs/pytorch_module_explorer.py
50
51
  rp/libs/rp_black_macchiato.py
51
52
  rp/libs/stamp_tensor.py
52
53
  rp/libs/stdin_python_highlighter.py
54
+ rp/libs/supertonic_tts_server.py
53
55
  rp/libs/torch_hooks.py
54
56
  rp/libs/torch_tools.py
55
57
  rp/libs/tracetraptest.py
rp-0.1.1392/version.py ADDED
@@ -0,0 +1 @@
1
+ 1392
rp-0.1.1391/rp/version.py DELETED
@@ -1 +0,0 @@
1
- 1391
rp-0.1.1391/version.py DELETED
@@ -1 +0,0 @@
1
- 1391
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes