rp 0.1.1369__tar.gz → 0.1.1371__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 (403) hide show
  1. {rp-0.1.1369 → rp-0.1.1371}/PKG-INFO +1 -1
  2. {rp-0.1.1369 → rp-0.1.1371}/rp/misc/claude_bash.sh +26 -2
  3. rp-0.1.1371/rp/misc/claude_panel.py +314 -0
  4. {rp-0.1.1369 → rp-0.1.1371}/rp/r.py +1 -1
  5. rp-0.1.1371/rp/version.py +1 -0
  6. {rp-0.1.1369 → rp-0.1.1371}/rp.egg-info/PKG-INFO +1 -1
  7. {rp-0.1.1369 → rp-0.1.1371}/rp.egg-info/SOURCES.txt +1 -0
  8. rp-0.1.1371/version.py +1 -0
  9. rp-0.1.1369/rp/version.py +0 -1
  10. rp-0.1.1369/version.py +0 -1
  11. {rp-0.1.1369 → rp-0.1.1371}/.gitignore +0 -0
  12. {rp-0.1.1369 → rp-0.1.1371}/.idea/QuickPython.iml +0 -0
  13. {rp-0.1.1369 → rp-0.1.1371}/.idea/QuickPython.time +0 -0
  14. {rp-0.1.1369 → rp-0.1.1371}/.idea/encodings.xml +0 -0
  15. {rp-0.1.1369 → rp-0.1.1371}/.idea/inspectionProfiles/Project_Default.xml +0 -0
  16. {rp-0.1.1369 → rp-0.1.1371}/.idea/misc.xml +0 -0
  17. {rp-0.1.1369 → rp-0.1.1371}/.idea/modules.xml +0 -0
  18. {rp-0.1.1369 → rp-0.1.1371}/.idea/vcs.xml +0 -0
  19. {rp-0.1.1369 → rp-0.1.1371}/.idea/workspace.xml +0 -0
  20. {rp-0.1.1369 → rp-0.1.1371}/.publish.sh.un~ +0 -0
  21. {rp-0.1.1369 → rp-0.1.1371}/.setup.py.un~ +0 -0
  22. {rp-0.1.1369 → rp-0.1.1371}/.update_module_paths.py.un~ +0 -0
  23. {rp-0.1.1369 → rp-0.1.1371}/LICENSE.txt +0 -0
  24. {rp-0.1.1369 → rp-0.1.1371}/README +0 -0
  25. {rp-0.1.1369 → rp-0.1.1371}/Scrap +0 -0
  26. {rp-0.1.1369 → rp-0.1.1371}/aoisdasd +0 -0
  27. {rp-0.1.1369 → rp-0.1.1371}/increment_version.py +0 -0
  28. {rp-0.1.1369 → rp-0.1.1371}/oijio +0 -0
  29. {rp-0.1.1369 → rp-0.1.1371}/publish.sh +0 -0
  30. {rp-0.1.1369 → rp-0.1.1371}/pyqtconsoletest.py +0 -0
  31. {rp-0.1.1369 → rp-0.1.1371}/rp/__init__.py +0 -0
  32. {rp-0.1.1369 → rp-0.1.1371}/rp/__main__.py +0 -0
  33. {rp-0.1.1369 → rp-0.1.1371}/rp/documentation.py +0 -0
  34. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/Pyperclip.py +0 -0
  35. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/__init__.py +0 -0
  36. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/debug_comment.py +0 -0
  37. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/draw_code_minimap.py +0 -0
  38. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/graveyard.py +0 -0
  39. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/__init__.py +0 -0
  40. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/_compatibility.py +0 -0
  41. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/cache.py +0 -0
  42. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/file_io.py +0 -0
  43. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/grammar.py +0 -0
  44. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/normalizer.py +0 -0
  45. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/parser.py +0 -0
  46. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/pgen2/__init__.py +0 -0
  47. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/pgen2/generator.py +0 -0
  48. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/pgen2/grammar_parser.py +0 -0
  49. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/python/__init__.py +0 -0
  50. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/python/diff.py +0 -0
  51. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/python/errors.py +0 -0
  52. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/python/grammar26.txt +0 -0
  53. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/python/grammar27.txt +0 -0
  54. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/python/grammar310.txt +0 -0
  55. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/python/grammar311.txt +0 -0
  56. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/python/grammar312.txt +0 -0
  57. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/python/grammar33.txt +0 -0
  58. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/python/grammar34.txt +0 -0
  59. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/python/grammar35.txt +0 -0
  60. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/python/grammar36.txt +0 -0
  61. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/python/grammar37.txt +0 -0
  62. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/python/grammar38.txt +0 -0
  63. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/python/grammar39.txt +0 -0
  64. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/python/parser.py +0 -0
  65. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/python/pep8.py +0 -0
  66. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/python/prefix.py +0 -0
  67. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/python/token.py +0 -0
  68. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/python/tokenize.py +0 -0
  69. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/python/tree.py +0 -0
  70. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/tree.py +0 -0
  71. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/parso/utils.py +0 -0
  72. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/peepdis/__init__.py +0 -0
  73. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/peepdis/core.py +0 -0
  74. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/peepdis/datastructures.py +0 -0
  75. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/peepdis/legacy.py +0 -0
  76. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/peepdis/preferences.py +0 -0
  77. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/powerpoint_converter.py +0 -0
  78. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/profile_vim_plugins.py +0 -0
  79. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyflann/__init__.py +0 -0
  80. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyflann/bindings/__init__.py +0 -0
  81. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyflann/bindings/flann_ctypes.py +0 -0
  82. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyflann/exceptions.py +0 -0
  83. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyflann/index.py +0 -0
  84. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyflann/io/__init__.py +0 -0
  85. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyflann/io/binary_dataset.py +0 -0
  86. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyflann/io/dat_dataset.py +0 -0
  87. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyflann/io/dataset.py +0 -0
  88. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyflann/io/hdf5_dataset.py +0 -0
  89. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyflann/io/npy_dataset.py +0 -0
  90. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyflann/util/__init__.py +0 -0
  91. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyflann/util/weave_tools.py +0 -0
  92. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/__init__.py +0 -0
  93. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/__version__.py +0 -0
  94. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/app.py +0 -0
  95. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/cli.py +0 -0
  96. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/cli_utils.py +0 -0
  97. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/config/__init__.py +0 -0
  98. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/config/config.py +0 -0
  99. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/config/config_error.py +0 -0
  100. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/config/config_parser.py +0 -0
  101. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/config/config_transformer.py +0 -0
  102. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/config/validators/__init__.py +0 -0
  103. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/config/validators/options.py +0 -0
  104. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/logging.py +0 -0
  105. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/model/__init__.py +0 -0
  106. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/model/autocomplete/__init__.py +0 -0
  107. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/model/autocomplete/autocomplete_listener.py +0 -0
  108. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/model/common/__init__.py +0 -0
  109. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/model/common/jsonpath/JSONPathLexer.py +0 -0
  110. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/model/common/jsonpath/JSONPathListener.py +0 -0
  111. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/model/common/jsonpath/JSONPathParser.py +0 -0
  112. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/model/common/jsonpath/__init__.py +0 -0
  113. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/model/io/__init__.py +0 -0
  114. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/model/io/datasource.py +0 -0
  115. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/model/model.py +0 -0
  116. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/service/__init__.py +0 -0
  117. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/service/client.py +0 -0
  118. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/service/dispatcher.py +0 -0
  119. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/__init__.py +0 -0
  120. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/common/__init__.py +0 -0
  121. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/common/popup.py +0 -0
  122. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/common/selectable_text.py +0 -0
  123. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/components/__init__.py +0 -0
  124. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/components/autocomplete_popup/__init__.py +0 -0
  125. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/components/autocomplete_popup/autocomplete_popup.py +0 -0
  126. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/components/autocomplete_popup/autocomplete_popup_keymapper.py +0 -0
  127. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/components/help_bar/__init__.py +0 -0
  128. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/components/help_bar/help_bar.py +0 -0
  129. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/components/help_page/__init__.py +0 -0
  130. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/components/help_page/detailed_help_page.py +0 -0
  131. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/components/json_browser/__init__.py +0 -0
  132. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/components/json_browser/json_browser.py +0 -0
  133. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/components/json_browser/json_browser_keymapper.py +0 -0
  134. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/components/query_bar/__init__.py +0 -0
  135. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/components/query_bar/query_bar.py +0 -0
  136. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/components/query_bar/query_bar_keymapper.py +0 -0
  137. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/__init__.py +0 -0
  138. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/array/__init__.py +0 -0
  139. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/array/array_end_node.py +0 -0
  140. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/array/array_end_widget.py +0 -0
  141. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/array/array_node.py +0 -0
  142. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/array/array_start_widget.py +0 -0
  143. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/array/array_unexpanded_widget.py +0 -0
  144. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/json_composite_end_node.py +0 -0
  145. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/json_composite_node.py +0 -0
  146. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/json_listbox.py +0 -0
  147. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/json_listwalker.py +0 -0
  148. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/json_simple_node.py +0 -0
  149. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/json_widget.py +0 -0
  150. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/node_factory.py +0 -0
  151. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/object/__init__.py +0 -0
  152. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/object/object_end_node.py +0 -0
  153. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/object/object_end_widget.py +0 -0
  154. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/object/object_node.py +0 -0
  155. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/object/object_start_widget.py +0 -0
  156. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/object/object_unexpanded_widget.py +0 -0
  157. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/primitive/__init__.py +0 -0
  158. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/primitive/base.py +0 -0
  159. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/primitive/boolean.py +0 -0
  160. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/primitive/generic.py +0 -0
  161. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/primitive/integer.py +0 -0
  162. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/primitive/null.py +0 -0
  163. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/primitive/numeric.py +0 -0
  164. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/primitive/string.py +0 -0
  165. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/json_lib/selector/__init__.py +0 -0
  166. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/keymapper/__init__.py +0 -0
  167. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/keymapper/abstract_component_keymapper.py +0 -0
  168. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/keymapper/keymapper.py +0 -0
  169. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/keymapper/keymapper_config.py +0 -0
  170. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/keymapper/keymapper_config_parser.py +0 -0
  171. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/theme/__init__.py +0 -0
  172. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/theme/theme.py +0 -0
  173. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/theme/theme_config.py +0 -0
  174. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/theme/theme_config_parser.py +0 -0
  175. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/view_config.py +0 -0
  176. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/view_frame.py +0 -0
  177. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pyfx/view/view_manager.py +0 -0
  178. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pynput_recorder.py +0 -0
  179. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pypi_inspection.py +0 -0
  180. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/pytorch_module_explorer.py +0 -0
  181. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/refactor/string_format/__init__.py +0 -0
  182. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/refactor/string_format/format_to_fstring_converter.py +0 -0
  183. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/refactor/string_format/fstring_converter.py +0 -0
  184. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/refactor/string_format/test_format_to_fstring_converter.py +0 -0
  185. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/refactor/string_format/test_fstring_converter.py +0 -0
  186. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/rp_black_macchiato.py +0 -0
  187. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/stamp_tensor.py +0 -0
  188. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/stdin_python_highlighter.py +0 -0
  189. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/tetris/__init__.py +0 -0
  190. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/tetris/__main__.py +0 -0
  191. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/tetris/graphics/graphics/__init__.py +0 -0
  192. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/tetris/graphics/graphics/canvas.py +0 -0
  193. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/tetris/graphics/graphics/colors.py +0 -0
  194. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/tetris/graphics/graphics/console.py +0 -0
  195. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/tetris/graphics/graphics/funcs.py +0 -0
  196. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/tetris/graphics/graphics/nbinput.py +0 -0
  197. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/tetris/graphics/graphics/shapes.py +0 -0
  198. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/tetris/graphics/graphics/sprite.py +0 -0
  199. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/tetris/letters.py +0 -0
  200. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/tetris/tetrisShapes.py +0 -0
  201. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/timg/__init__.py +0 -0
  202. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/timg/__main__.py +0 -0
  203. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/timg/argparser.py +0 -0
  204. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/timg/meta.py +0 -0
  205. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/timg/methods/__init__.py +0 -0
  206. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/timg/methods/ansi.py +0 -0
  207. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/timg/methods/ansi_methods.py +0 -0
  208. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/timg/methods/ascii.py +0 -0
  209. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/timg/methods/method.py +0 -0
  210. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/timg/methods/sixel.py +0 -0
  211. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/timg/renderer.py +0 -0
  212. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/torch_hooks.py +0 -0
  213. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/torch_tools.py +0 -0
  214. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/tracetraptest.py +0 -0
  215. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/tweenline.py +0 -0
  216. {rp-0.1.1369 → rp-0.1.1371}/rp/libs/webeval_dataset.py +0 -0
  217. {rp-0.1.1369 → rp-0.1.1371}/rp/list_of_modules.py +0 -0
  218. {rp-0.1.1369 → rp-0.1.1371}/rp/misc/Todo +0 -0
  219. {rp-0.1.1369 → rp-0.1.1371}/rp/misc/__init__.py +0 -0
  220. {rp-0.1.1369 → rp-0.1.1371}/rp/misc/blm.py +0 -0
  221. {rp-0.1.1369 → rp-0.1.1371}/rp/misc/chainsaw.py +0 -0
  222. {rp-0.1.1369 → rp-0.1.1371}/rp/misc/death_of_the_mind.py +0 -0
  223. {rp-0.1.1369 → rp-0.1.1371}/rp/misc/flappy.py +0 -0
  224. {rp-0.1.1369 → rp-0.1.1371}/rp/misc/mario.py +0 -0
  225. {rp-0.1.1369 → rp-0.1.1371}/rp/misc/matrix.py +0 -0
  226. {rp-0.1.1369 → rp-0.1.1371}/rp/misc/mpi_untitled.py +0 -0
  227. {rp-0.1.1369 → rp-0.1.1371}/rp/misc/py2048.py +0 -0
  228. {rp-0.1.1369 → rp-0.1.1371}/rp/misc/pychess.py +0 -0
  229. {rp-0.1.1369 → rp-0.1.1371}/rp/misc/rp_logo.svg +0 -0
  230. {rp-0.1.1369 → rp-0.1.1371}/rp/misc/rp_mpi.py +0 -0
  231. {rp-0.1.1369 → rp-0.1.1371}/rp/misc/ryan_zshrc.py +0 -0
  232. {rp-0.1.1369 → rp-0.1.1371}/rp/misc/shotgun.py +0 -0
  233. {rp-0.1.1369 → rp-0.1.1371}/rp/misc/skia_trail_interactive_paint_demo.py +0 -0
  234. {rp-0.1.1369 → rp-0.1.1371}/rp/misc/snake.py +0 -0
  235. {rp-0.1.1369 → rp-0.1.1371}/rp/misc/sudoku.py +0 -0
  236. {rp-0.1.1369 → rp-0.1.1371}/rp/misc/tetris.py +0 -0
  237. {rp-0.1.1369 → rp-0.1.1371}/rp/misc/trans.py +0 -0
  238. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/__init__.py +0 -0
  239. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/application.py +0 -0
  240. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/auto_suggest.py +0 -0
  241. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/buffer.py +0 -0
  242. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/buffer_mapping.py +0 -0
  243. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/cache.py +0 -0
  244. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/clipboard/__init__.py +0 -0
  245. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/clipboard/base.py +0 -0
  246. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/clipboard/in_memory.py +0 -0
  247. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/clipboard/pyperclip.py +0 -0
  248. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/completion.py +0 -0
  249. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/contrib/__init__.py +0 -0
  250. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/contrib/completers/__init__.py +0 -0
  251. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/contrib/completers/base.py +0 -0
  252. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/contrib/completers/filesystem.py +0 -0
  253. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/contrib/completers/system.py +0 -0
  254. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/contrib/regular_languages/__init__.py +0 -0
  255. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/contrib/regular_languages/compiler.py +0 -0
  256. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/contrib/regular_languages/completion.py +0 -0
  257. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/contrib/regular_languages/lexer.py +0 -0
  258. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/contrib/regular_languages/regex_parser.py +0 -0
  259. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/contrib/regular_languages/validation.py +0 -0
  260. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/contrib/telnet/__init__.py +0 -0
  261. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/contrib/telnet/application.py +0 -0
  262. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/contrib/telnet/log.py +0 -0
  263. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/contrib/telnet/protocol.py +0 -0
  264. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/contrib/telnet/server.py +0 -0
  265. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/contrib/validators/__init__.py +0 -0
  266. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/contrib/validators/base.py +0 -0
  267. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/document.py +0 -0
  268. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/enums.py +0 -0
  269. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/eventloop/__init__.py +0 -0
  270. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/eventloop/asyncio_base.py +0 -0
  271. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/eventloop/asyncio_posix.py +0 -0
  272. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/eventloop/asyncio_win32.py +0 -0
  273. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/eventloop/base.py +0 -0
  274. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/eventloop/callbacks.py +0 -0
  275. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/eventloop/inputhook.py +0 -0
  276. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/eventloop/posix.py +0 -0
  277. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/eventloop/posix_utils.py +0 -0
  278. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/eventloop/select.py +0 -0
  279. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/eventloop/utils.py +0 -0
  280. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/eventloop/win32.py +0 -0
  281. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/filters/__init__.py +0 -0
  282. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/filters/base.py +0 -0
  283. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/filters/cli.py +0 -0
  284. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/filters/types.py +0 -0
  285. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/filters/utils.py +0 -0
  286. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/history.py +0 -0
  287. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/input.py +0 -0
  288. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/interface.py +0 -0
  289. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/key_binding/__init__.py +0 -0
  290. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/key_binding/bindings/__init__.py +0 -0
  291. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/key_binding/bindings/basic.py +0 -0
  292. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/key_binding/bindings/completion.py +0 -0
  293. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/key_binding/bindings/emacs.py +0 -0
  294. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/key_binding/bindings/named_commands.py +0 -0
  295. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/key_binding/bindings/scroll.py +0 -0
  296. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/key_binding/bindings/vi.py +0 -0
  297. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/key_binding/defaults.py +0 -0
  298. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/key_binding/digraphs.py +0 -0
  299. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/key_binding/input_processor.py +0 -0
  300. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/key_binding/manager.py +0 -0
  301. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/key_binding/registry.py +0 -0
  302. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/key_binding/vi_state.py +0 -0
  303. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/keys.py +0 -0
  304. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/layout/__init__.py +0 -0
  305. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/layout/containers.py +0 -0
  306. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/layout/controls.py +0 -0
  307. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/layout/dimension.py +0 -0
  308. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/layout/lexers.py +0 -0
  309. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/layout/margins.py +0 -0
  310. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/layout/menus.py +0 -0
  311. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/layout/mouse_handlers.py +0 -0
  312. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/layout/processors.py +0 -0
  313. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/layout/prompt.py +0 -0
  314. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/layout/screen.py +0 -0
  315. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/layout/toolbars.py +0 -0
  316. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/layout/untitled.py +0 -0
  317. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/layout/utils.py +0 -0
  318. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/mouse_events.py +0 -0
  319. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/output.py +0 -0
  320. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/reactive.py +0 -0
  321. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/renderer.py +0 -0
  322. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/search_state.py +0 -0
  323. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/selection.py +0 -0
  324. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/shortcuts.py +0 -0
  325. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/styles/__init__.py +0 -0
  326. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/styles/base.py +0 -0
  327. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/styles/defaults.py +0 -0
  328. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/styles/from_dict.py +0 -0
  329. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/styles/from_pygments.py +0 -0
  330. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/styles/utils.py +0 -0
  331. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/terminal/__init__.py +0 -0
  332. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/terminal/conemu_output.py +0 -0
  333. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/terminal/vt100_input.py +0 -0
  334. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/terminal/vt100_output.py +0 -0
  335. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/terminal/win32_input.py +0 -0
  336. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/terminal/win32_output.py +0 -0
  337. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/token.py +0 -0
  338. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/utils.py +0 -0
  339. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/validation.py +0 -0
  340. {rp-0.1.1369 → rp-0.1.1371}/rp/prompt_toolkit/win32_types.py +0 -0
  341. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/__init__.py +0 -0
  342. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/__main__.py +0 -0
  343. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/ast_selection.py +0 -0
  344. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/async_analyzer_base.py +0 -0
  345. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/async_jedi_highlighter.py +0 -0
  346. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/backslash_commands.py +0 -0
  347. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/bash_completer.py +0 -0
  348. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/bash_extract.py +0 -0
  349. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/bash_inline.py +0 -0
  350. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/bash_rename.py +0 -0
  351. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/bash_selection.py +0 -0
  352. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/completer.py +0 -0
  353. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/completer_old.py +0 -0
  354. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/completion_ranker.py +0 -0
  355. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/completion_schema.py +0 -0
  356. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/completion_types.py +0 -0
  357. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/eventloop.py +0 -0
  358. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/filters.py +0 -0
  359. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/history_browser.py +0 -0
  360. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/ipython.py +0 -0
  361. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/jedi_highlighter.py +0 -0
  362. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/jedi_lexer.py +0 -0
  363. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/jedi_utils.py +0 -0
  364. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/key_bindings.py +0 -0
  365. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/layout.py +0 -0
  366. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/patch_linecache.py +0 -0
  367. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/path_completer_utils.py +0 -0
  368. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/prompt_style.py +0 -0
  369. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/python_input.py +0 -0
  370. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/r_iterm_comm.py +0 -0
  371. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/refactor_extract.py +0 -0
  372. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/refactor_inline.py +0 -0
  373. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/refactor_move.py +0 -0
  374. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/refactor_move_bash.py +0 -0
  375. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/refactor_rename.py +0 -0
  376. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/repl.py +0 -0
  377. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/rp_ptpdb/__init__.py +0 -0
  378. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/rp_ptpdb/commands.py +0 -0
  379. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/rp_ptpdb/completers.py +0 -0
  380. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/rp_ptpdb/completion_hints.py +0 -0
  381. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/rp_ptpdb/grammar.py +0 -0
  382. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/rp_ptpdb/key_bindings.py +0 -0
  383. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/rp_ptpdb/layout.py +0 -0
  384. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/rp_ptpdb/style.py +0 -0
  385. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/rp_ptpdb/toolbars.py +0 -0
  386. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/selection_utils.py +0 -0
  387. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/style.py +0 -0
  388. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/testable_keybindings.py +0 -0
  389. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/treesitter_selection.py +0 -0
  390. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/treesitter_semantic.py +0 -0
  391. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/unreachable_detector.py +0 -0
  392. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/utils.py +0 -0
  393. {rp-0.1.1369 → rp-0.1.1371}/rp/rp_ptpython/validator.py +0 -0
  394. {rp-0.1.1369 → rp-0.1.1371}/rp/ryan_vimrc.py +0 -0
  395. {rp-0.1.1369 → rp-0.1.1371}/rp/web_evaluator.py +0 -0
  396. {rp-0.1.1369 → rp-0.1.1371}/rp.egg-info/dependency_links.txt +0 -0
  397. {rp-0.1.1369 → rp-0.1.1371}/rp.egg-info/entry_points.txt +0 -0
  398. {rp-0.1.1369 → rp-0.1.1371}/rp.egg-info/requires.txt +0 -0
  399. {rp-0.1.1369 → rp-0.1.1371}/rp.egg-info/top_level.txt +0 -0
  400. {rp-0.1.1369 → rp-0.1.1371}/setup.cfg +0 -0
  401. {rp-0.1.1369 → rp-0.1.1371}/setup.py +0 -0
  402. {rp-0.1.1369 → rp-0.1.1371}/untitled.c +0 -0
  403. {rp-0.1.1369 → rp-0.1.1371}/update_module_paths.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.0
2
2
  Name: rp
3
- Version: 0.1.1369
3
+ Version: 0.1.1371
4
4
  Summary: Ryan's Python: IDE + Library + Tools
5
5
  Home-page: https://github.com/RyannDaGreat/rp
6
6
  Author: Ryan Burgert
@@ -11,7 +11,10 @@
11
11
  IS_MACOS=$([[ "$(uname)" == "Darwin" ]] && echo 1)
12
12
  SESSION="ClaudeSh"
13
13
  ARCHIVE_WINDOW="ARCHIVE"
14
+ PANEL_WINDOW="PANEL"
14
15
  ARCHIVE_DIR="/tmp/claude_bash_archive"
16
+ PANEL_SCRIPT="$(dirname "$0")/claude_panel.py"
17
+ PYTHON_BIN="$RP_SYS_EXECUTABLE"
15
18
  EMOJIS="🔴🟠🟡🟢🔵🟣🟤⚫⚪🩶🩷🩵❤️🧡💛💚💙💜🖤🤍🤎💗💖💝💘🍎🍊🍋🍏🫐🍇🍓🍒🍑🥭🍍🥝🌶️🥕🌽🥦🍆🫑🔥🌊🌿🌸🌺🌻🌼🌷💐🌈☀️⭐🌙💫✨⚡💎🔮🎈🎀🧊❄️🎯🎨🎭🎪🎠🎡🎢🏀🏈⚽🎾🎱🧩🪁🛸🚀💊🧬🦠🔬🧪🎵🎶🔔💡🔦🏮🪔🎃👾🤖👽🦋🐝🐞🌵🍄🌴🥀🪷🪻"
16
19
  BASH_BIN="/bin/bash"
17
20
 
@@ -55,17 +58,38 @@ archive_viewer() {
55
58
 
56
59
  # --- Tmux setup ---
57
60
  ARCHIVE_CMD="SESSION=$SESSION; ARCHIVE_DIR=$ARCHIVE_DIR; $(declare -f archive_viewer); archive_viewer"
61
+ PANEL_CMD="while true; do $PYTHON_BIN $PANEL_SCRIPT; done"
62
+
63
+ ensure_panel_window() {
64
+ if ! tmux list-windows -t "$SESSION" -F "#{window_name}" | grep -q "^${PANEL_WINDOW}$"; then
65
+ # Move all windows from index 1+ up by one to make room
66
+ for i in $(tmux list-windows -t "$SESSION" -F "#{window_index}" | sort -rn); do
67
+ [[ "$i" -ge 1 ]] && tmux move-window -s "$SESSION:$i" -t "$SESSION:$((i+1))"
68
+ done
69
+ tmux new-window -d -t "$SESSION:1" -n "$PANEL_WINDOW" "$PANEL_CMD"
70
+ else
71
+ # Check if panel process died and respawn if needed
72
+ local panel_pane=$(tmux list-windows -t "$SESSION" -F "#{window_name} #{pane_id}" | grep "^${PANEL_WINDOW} " | awk '{print $2}')
73
+ if [[ -n "$panel_pane" ]] && ! tmux display -t "$panel_pane" -p "#{pane_pid}" >/dev/null 2>&1; then
74
+ tmux respawn-window -t "$SESSION:$PANEL_WINDOW" -k "$PANEL_CMD"
75
+ fi
76
+ fi
77
+ }
58
78
 
59
79
  if ! tmux has-session -t "$SESSION" 2>/dev/null; then
60
80
  tmux new-session -d -s "$SESSION" -n "$ARCHIVE_WINDOW" "$ARCHIVE_CMD"
81
+ tmux new-window -d -t "$SESSION:1" -n "$PANEL_WINDOW" "$PANEL_CMD"
61
82
  elif ! tmux list-windows -t "$SESSION" -F "#{window_name}" | grep -q "^${ARCHIVE_WINDOW}$"; then
62
83
  # Respawn ARCHIVE at index 0
63
84
  tmux move-window -t "$SESSION" -r
64
85
  for i in $(tmux list-windows -t "$SESSION" -F "#{window_index}" | sort -rn); do
65
- # Move all other windows 1 index up to make room
66
- tmux move-window -s "$SESSION:$i" -t "$SESSION:$((i+1))"
86
+ # Move all other windows 2 indices up to make room for ARCHIVE and PANEL
87
+ tmux move-window -s "$SESSION:$i" -t "$SESSION:$((i+2))"
67
88
  done
68
89
  tmux new-window -d -t "$SESSION:0" -n "$ARCHIVE_WINDOW" "$ARCHIVE_CMD"
90
+ tmux new-window -d -t "$SESSION:1" -n "$PANEL_WINDOW" "$PANEL_CMD"
91
+ else
92
+ ensure_panel_window
69
93
  fi
70
94
 
71
95
  PANE=$(tmux new-window -d -t "$SESSION" -n "$WINDOW_NAME" -P -F "#{pane_id}" "cat")
@@ -0,0 +1,314 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Textual-based panel for managing ClaudeSH tmux processes.
4
+ Displays active processes with CPU/memory graphs, allows kill/goto actions.
5
+ """
6
+
7
+ import subprocess
8
+ from collections import deque
9
+ from dataclasses import dataclass, field
10
+
11
+ from textual.app import App, ComposeResult
12
+ from textual.binding import Binding
13
+ from textual.containers import ScrollableContainer, Horizontal
14
+ from textual.widgets import Button, Static, Header, Footer
15
+
16
+ SESSION = "ClaudeSh"
17
+ ARCHIVE_WINDOW = "ARCHIVE"
18
+ PANEL_WINDOW = "PANEL"
19
+ CPU_HISTORY_LEN = 20
20
+
21
+
22
+ def run_cmd(cmd: list[str]) -> str:
23
+ try:
24
+ return subprocess.check_output(cmd, stderr=subprocess.DEVNULL, text=True).strip()
25
+ except subprocess.CalledProcessError:
26
+ return ""
27
+
28
+
29
+ def get_tmux_windows() -> list[tuple[str, str]]:
30
+ """Return list of (window_name, window_id) for ClaudeSH session."""
31
+ out = run_cmd(["tmux", "list-windows", "-t", SESSION, "-F", "#{window_name} #{window_id}"])
32
+ if not out:
33
+ return []
34
+ result = []
35
+ for line in out.splitlines():
36
+ parts = line.split(" ", 1)
37
+ if len(parts) == 2:
38
+ result.append((parts[0], parts[1]))
39
+ return result
40
+
41
+
42
+ def extract_pid_from_name(name: str) -> int | None:
43
+ """Extract trailing digits from window name as PID."""
44
+ digits = ""
45
+ for c in reversed(name):
46
+ if c.isdigit():
47
+ digits = c + digits
48
+ else:
49
+ break
50
+ return int(digits) if digits else None
51
+
52
+
53
+ def get_process_stats(pid: int) -> tuple[str, float, float, str]:
54
+ """Return (command, cpu_percent, memory_mb, elapsed) for a process."""
55
+ # Get stats separately to avoid parsing issues with command containing spaces
56
+ pid_str = str(pid)
57
+ command = run_cmd(["ps", "-o", "command=", "-p", pid_str])
58
+ stats = run_cmd(["ps", "-o", "%cpu=,rss=,etime=", "-p", pid_str])
59
+ if not stats:
60
+ return command, 0.0, 0.0, ""
61
+ parts = stats.split()
62
+ if len(parts) >= 3:
63
+ try:
64
+ cpu = float(parts[0])
65
+ mem_mb = float(parts[1]) / 1024
66
+ elapsed = parts[2].strip()
67
+ return command, cpu, mem_mb, elapsed
68
+ except ValueError:
69
+ pass
70
+ return command, 0.0, 0.0, ""
71
+
72
+
73
+ def kill_process(pid: int):
74
+ """Kill a process by PID."""
75
+ subprocess.run(["kill", "-9", str(pid)], check=False)
76
+
77
+
78
+ def goto_window(window_id: str):
79
+ """Switch to a tmux window."""
80
+ run_cmd(["tmux", "select-window", "-t", window_id])
81
+
82
+
83
+ @dataclass
84
+ class ProcessInfo:
85
+ pid: int
86
+ window_id: str
87
+ emoji: str
88
+ command: str = ""
89
+ elapsed: str = ""
90
+ cpu_history: deque = field(default_factory=lambda: deque(maxlen=CPU_HISTORY_LEN))
91
+ cpu_pct: float = 0.0
92
+ memory_mb: float = 0.0
93
+
94
+
95
+ class CpuGraph(Static):
96
+ """Mini sparkline graph for CPU usage with percentage."""
97
+
98
+ def __init__(self, proc: ProcessInfo, **kwargs):
99
+ super().__init__(**kwargs)
100
+ self.proc = proc
101
+
102
+ def render(self) -> str:
103
+ blocks = "▁▂▃▄▅▆▇█"
104
+ if not self.proc.cpu_history:
105
+ graph = "▁" * CPU_HISTORY_LEN
106
+ else:
107
+ max_val = max(self.proc.cpu_history) or 100
108
+ graph = "".join(
109
+ blocks[min(int(v / max_val * 7), 7)] for v in self.proc.cpu_history
110
+ ).ljust(CPU_HISTORY_LEN, "▁")
111
+ return f"{graph} {self.proc.cpu_pct:5.1f}%"
112
+
113
+
114
+ class MemoryBar(Static):
115
+ """Memory usage bar."""
116
+
117
+ def __init__(self, proc: ProcessInfo, **kwargs):
118
+ super().__init__(**kwargs)
119
+ self.proc = proc
120
+
121
+ def render(self) -> str:
122
+ filled = min(int(self.proc.memory_mb / 1024 * 10), 10)
123
+ bar = "█" * filled + "░" * (10 - filled)
124
+ return f"[{bar}] {self.proc.memory_mb:.0f}MB"
125
+
126
+
127
+ class ProcessRow(Static):
128
+ """A row displaying one process with controls."""
129
+
130
+ DEFAULT_CSS = """
131
+ ProcessRow {
132
+ height: auto;
133
+ padding: 1;
134
+ border: solid $primary;
135
+ margin-bottom: 1;
136
+ }
137
+ ProcessRow:focus {
138
+ border: double $accent;
139
+ background: $surface-lighten-1;
140
+ }
141
+ ProcessRow .row-header { height: 3; width: 100%; }
142
+ ProcessRow .pid-label { width: 20; }
143
+ ProcessRow .elapsed { width: 15; color: $accent; }
144
+ ProcessRow .command-display { height: 1; padding-left: 2; color: $text-muted; }
145
+ ProcessRow .stats-row { height: 1; width: 100%; margin-top: 1; }
146
+ ProcessRow .cpu-label { width: 5; color: $success; }
147
+ ProcessRow .cpu-graph { width: 28; color: $success; }
148
+ ProcessRow .mem-label { width: 5; color: $warning; }
149
+ ProcessRow .mem-bar { width: 25; color: $warning; }
150
+ ProcessRow Button { min-width: 10; height: 3; }
151
+ ProcessRow .kill-btn { margin-left: 2; }
152
+ ProcessRow .goto-btn { margin-left: 1; }
153
+ """
154
+
155
+ can_focus = True
156
+
157
+ def __init__(self, proc: ProcessInfo, **kwargs):
158
+ super().__init__(**kwargs)
159
+ self.proc = proc
160
+
161
+ def compose(self) -> ComposeResult:
162
+ with Horizontal(classes="row-header"):
163
+ yield Static(f"{self.proc.emoji} PID {self.proc.pid}", classes="pid-label")
164
+ yield Static(f"⏱ {self.proc.elapsed}", classes="elapsed", id=f"elapsed-{self.proc.pid}")
165
+ yield Button("✕ Kill", id=f"kill-{self.proc.pid}", classes="kill-btn", variant="error")
166
+ yield Button("→ Go", id=f"goto-{self.proc.pid}", classes="goto-btn", variant="primary")
167
+
168
+ yield Static(f" {self.proc.command[:150] or '(no command)'}", classes="command-display")
169
+
170
+ with Horizontal(classes="stats-row"):
171
+ yield Static("CPU:", classes="cpu-label")
172
+ yield CpuGraph(self.proc, classes="cpu-graph", id=f"cpu-{self.proc.pid}")
173
+ yield Static(" MEM:", classes="mem-label")
174
+ yield MemoryBar(self.proc, classes="mem-bar", id=f"mem-{self.proc.pid}")
175
+
176
+ def on_button_pressed(self, event: Button.Pressed) -> None:
177
+ btn_id = event.button.id or ""
178
+ if btn_id.startswith("kill-"):
179
+ kill_process(self.proc.pid)
180
+ self.app.refresh_processes()
181
+ elif btn_id.startswith("goto-"):
182
+ goto_window(self.proc.window_id)
183
+
184
+
185
+ class ClaudePanel(App):
186
+ """Main panel application for ClaudeSH process management."""
187
+
188
+ TITLE = "ClaudeSH Panel"
189
+ CSS = """
190
+ Screen { background: $surface; }
191
+ #container { height: 100%; }
192
+ #no-processes { text-align: center; padding: 5; color: $text-muted; }
193
+ """
194
+
195
+ BINDINGS = [
196
+ Binding("q", "quit", "Quit"),
197
+ Binding("r", "refresh", "Refresh"),
198
+ Binding("j", "next", "Next", show=False),
199
+ Binding("k", "prev", "Prev", show=False),
200
+ Binding("down", "next", "Next"),
201
+ Binding("up", "prev", "Prev"),
202
+ Binding("x", "kill_focused", "Kill"),
203
+ Binding("g", "goto_focused", "Go To"),
204
+ Binding("enter", "goto_focused", "Go To", show=False),
205
+ ]
206
+
207
+ def __init__(self):
208
+ super().__init__()
209
+ self.processes: dict[int, ProcessInfo] = {}
210
+ self._ui_built = False
211
+
212
+ def compose(self) -> ComposeResult:
213
+ yield Header()
214
+ yield ScrollableContainer(id="container")
215
+ yield Footer()
216
+
217
+ def on_mount(self) -> None:
218
+ self.call_after_refresh(self.refresh_processes)
219
+ self.set_interval(1.0, self.update_stats)
220
+ self.set_interval(2.0, self.refresh_processes)
221
+
222
+ def refresh_processes(self) -> None:
223
+ """Refresh the list of processes from tmux."""
224
+ try:
225
+ windows = get_tmux_windows()
226
+ current_pids = set(self.processes.keys())
227
+ new_pids = set()
228
+
229
+ for name, wid in windows:
230
+ if name in (ARCHIVE_WINDOW, PANEL_WINDOW):
231
+ continue
232
+ pid = extract_pid_from_name(name)
233
+ if pid is None:
234
+ continue
235
+ new_pids.add(pid)
236
+
237
+ if pid not in self.processes:
238
+ emoji = name[0] if name else "?"
239
+ cmd, cpu, mem, elapsed = get_process_stats(pid)
240
+ self.processes[pid] = ProcessInfo(
241
+ pid=pid, window_id=wid, emoji=emoji,
242
+ command=cmd, elapsed=elapsed, cpu_pct=cpu, memory_mb=mem,
243
+ )
244
+
245
+ for pid in current_pids - new_pids:
246
+ del self.processes[pid]
247
+
248
+ if new_pids != current_pids or not self._ui_built:
249
+ self._ui_built = True
250
+ self.rebuild_ui()
251
+ except Exception:
252
+ pass
253
+
254
+ def rebuild_ui(self) -> None:
255
+ """Rebuild the process list UI."""
256
+ try:
257
+ container = self.query_one("#container", ScrollableContainer)
258
+ container.remove_children()
259
+
260
+ if not self.processes:
261
+ container.mount(Static("No active processes", id="no-processes"))
262
+ else:
263
+ for pid in sorted(self.processes.keys()):
264
+ container.mount(ProcessRow(self.processes[pid], id=f"row-{pid}"))
265
+ rows = self.query("ProcessRow")
266
+ if rows:
267
+ rows.first().focus()
268
+ except Exception:
269
+ pass
270
+
271
+ def update_stats(self) -> None:
272
+ """Update CPU/memory/elapsed stats for all processes."""
273
+ try:
274
+ for pid, proc in list(self.processes.items()):
275
+ _, cpu, mem, elapsed = get_process_stats(pid)
276
+ proc.cpu_history.append(cpu)
277
+ proc.cpu_pct = cpu
278
+ proc.memory_mb = mem
279
+ proc.elapsed = elapsed
280
+
281
+ try:
282
+ self.query_one(f"#cpu-{pid}").refresh()
283
+ self.query_one(f"#mem-{pid}").refresh()
284
+ self.query_one(f"#elapsed-{pid}", Static).update(f"⏱ {elapsed}")
285
+ except Exception:
286
+ pass
287
+ except Exception:
288
+ pass
289
+
290
+ def action_refresh(self) -> None:
291
+ self.refresh_processes()
292
+
293
+ def action_next(self) -> None:
294
+ self.screen.focus_next("ProcessRow")
295
+
296
+ def action_prev(self) -> None:
297
+ self.screen.focus_previous("ProcessRow")
298
+
299
+ def action_kill_focused(self) -> None:
300
+ if isinstance(self.focused, ProcessRow):
301
+ kill_process(self.focused.proc.pid)
302
+ self.refresh_processes()
303
+
304
+ def action_goto_focused(self) -> None:
305
+ if isinstance(self.focused, ProcessRow):
306
+ goto_window(self.focused.proc.window_id)
307
+
308
+
309
+ def main():
310
+ ClaudePanel().run()
311
+
312
+
313
+ if __name__ == "__main__":
314
+ main()
@@ -53228,7 +53228,7 @@ def _extract_archive_via_pyunpack(archive_path, folder_path):
53228
53228
  pip_import('patoolib')
53229
53229
 
53230
53230
  filetype=get_file_extension(archive_path)
53231
- supported_filetypes='zip jar rar tar gz 7z deb ace alz a arc arj bz2 cab Z cpio dms lrz lha lzh lz lzma lzo rpm rz xz zoo'.lower().split()
53231
+ supported_filetypes='zip jar rar tar gz 7z deb ace alz a arc arj bz2 cab Z cpio dms lrz lha lzh lz lzma lzo rpm rz xz zoo pptx'.lower().split()
53232
53232
  assert filetype.lower() in supported_filetypes, 'Sorry, but I dont know how to unpack/extract/unzip etc the given filetype .'+filetype+'\n\tSupported filetypes: '+' '.join(sorted(set(supported_filetypes)))
53233
53233
 
53234
53234
  from pyunpack import Archive
@@ -0,0 +1 @@
1
+ 1371
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.0
2
2
  Name: rp
3
- Version: 0.1.1369
3
+ Version: 0.1.1371
4
4
  Summary: Ryan's Python: IDE + Library + Tools
5
5
  Home-page: https://github.com/RyannDaGreat/rp
6
6
  Author: Ryan Burgert
@@ -758,6 +758,7 @@ rp/misc/__init__.py
758
758
  rp/misc/blm.py
759
759
  rp/misc/chainsaw.py
760
760
  rp/misc/claude_bash.sh
761
+ rp/misc/claude_panel.py
761
762
  rp/misc/death_of_the_mind.py
762
763
  rp/misc/flappy.py
763
764
  rp/misc/mario.py
rp-0.1.1371/version.py ADDED
@@ -0,0 +1 @@
1
+ 1371
rp-0.1.1369/rp/version.py DELETED
@@ -1 +0,0 @@
1
- 1369
rp-0.1.1369/version.py DELETED
@@ -1 +0,0 @@
1
- 1369
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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes