rp 0.1.1367__tar.gz → 0.1.1368__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 (402) hide show
  1. {rp-0.1.1367 → rp-0.1.1368}/PKG-INFO +1 -1
  2. {rp-0.1.1367 → rp-0.1.1368}/rp/misc/claude_bash.sh +2 -7
  3. {rp-0.1.1367 → rp-0.1.1368}/rp/r.py +91 -30
  4. rp-0.1.1368/rp/version.py +1 -0
  5. {rp-0.1.1367 → rp-0.1.1368}/rp.egg-info/PKG-INFO +1 -1
  6. rp-0.1.1368/version.py +1 -0
  7. rp-0.1.1367/rp/version.py +0 -1
  8. rp-0.1.1367/version.py +0 -1
  9. {rp-0.1.1367 → rp-0.1.1368}/.gitignore +0 -0
  10. {rp-0.1.1367 → rp-0.1.1368}/.idea/QuickPython.iml +0 -0
  11. {rp-0.1.1367 → rp-0.1.1368}/.idea/QuickPython.time +0 -0
  12. {rp-0.1.1367 → rp-0.1.1368}/.idea/encodings.xml +0 -0
  13. {rp-0.1.1367 → rp-0.1.1368}/.idea/inspectionProfiles/Project_Default.xml +0 -0
  14. {rp-0.1.1367 → rp-0.1.1368}/.idea/misc.xml +0 -0
  15. {rp-0.1.1367 → rp-0.1.1368}/.idea/modules.xml +0 -0
  16. {rp-0.1.1367 → rp-0.1.1368}/.idea/vcs.xml +0 -0
  17. {rp-0.1.1367 → rp-0.1.1368}/.idea/workspace.xml +0 -0
  18. {rp-0.1.1367 → rp-0.1.1368}/.publish.sh.un~ +0 -0
  19. {rp-0.1.1367 → rp-0.1.1368}/.setup.py.un~ +0 -0
  20. {rp-0.1.1367 → rp-0.1.1368}/.update_module_paths.py.un~ +0 -0
  21. {rp-0.1.1367 → rp-0.1.1368}/LICENSE.txt +0 -0
  22. {rp-0.1.1367 → rp-0.1.1368}/README +0 -0
  23. {rp-0.1.1367 → rp-0.1.1368}/Scrap +0 -0
  24. {rp-0.1.1367 → rp-0.1.1368}/aoisdasd +0 -0
  25. {rp-0.1.1367 → rp-0.1.1368}/increment_version.py +0 -0
  26. {rp-0.1.1367 → rp-0.1.1368}/oijio +0 -0
  27. {rp-0.1.1367 → rp-0.1.1368}/publish.sh +0 -0
  28. {rp-0.1.1367 → rp-0.1.1368}/pyqtconsoletest.py +0 -0
  29. {rp-0.1.1367 → rp-0.1.1368}/rp/__init__.py +0 -0
  30. {rp-0.1.1367 → rp-0.1.1368}/rp/__main__.py +0 -0
  31. {rp-0.1.1367 → rp-0.1.1368}/rp/documentation.py +0 -0
  32. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/Pyperclip.py +0 -0
  33. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/__init__.py +0 -0
  34. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/debug_comment.py +0 -0
  35. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/draw_code_minimap.py +0 -0
  36. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/graveyard.py +0 -0
  37. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/__init__.py +0 -0
  38. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/_compatibility.py +0 -0
  39. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/cache.py +0 -0
  40. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/file_io.py +0 -0
  41. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/grammar.py +0 -0
  42. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/normalizer.py +0 -0
  43. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/parser.py +0 -0
  44. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/pgen2/__init__.py +0 -0
  45. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/pgen2/generator.py +0 -0
  46. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/pgen2/grammar_parser.py +0 -0
  47. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/python/__init__.py +0 -0
  48. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/python/diff.py +0 -0
  49. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/python/errors.py +0 -0
  50. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/python/grammar26.txt +0 -0
  51. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/python/grammar27.txt +0 -0
  52. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/python/grammar310.txt +0 -0
  53. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/python/grammar311.txt +0 -0
  54. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/python/grammar312.txt +0 -0
  55. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/python/grammar33.txt +0 -0
  56. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/python/grammar34.txt +0 -0
  57. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/python/grammar35.txt +0 -0
  58. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/python/grammar36.txt +0 -0
  59. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/python/grammar37.txt +0 -0
  60. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/python/grammar38.txt +0 -0
  61. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/python/grammar39.txt +0 -0
  62. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/python/parser.py +0 -0
  63. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/python/pep8.py +0 -0
  64. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/python/prefix.py +0 -0
  65. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/python/token.py +0 -0
  66. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/python/tokenize.py +0 -0
  67. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/python/tree.py +0 -0
  68. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/tree.py +0 -0
  69. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/parso/utils.py +0 -0
  70. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/peepdis/__init__.py +0 -0
  71. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/peepdis/core.py +0 -0
  72. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/peepdis/datastructures.py +0 -0
  73. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/peepdis/legacy.py +0 -0
  74. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/peepdis/preferences.py +0 -0
  75. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/powerpoint_converter.py +0 -0
  76. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/profile_vim_plugins.py +0 -0
  77. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyflann/__init__.py +0 -0
  78. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyflann/bindings/__init__.py +0 -0
  79. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyflann/bindings/flann_ctypes.py +0 -0
  80. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyflann/exceptions.py +0 -0
  81. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyflann/index.py +0 -0
  82. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyflann/io/__init__.py +0 -0
  83. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyflann/io/binary_dataset.py +0 -0
  84. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyflann/io/dat_dataset.py +0 -0
  85. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyflann/io/dataset.py +0 -0
  86. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyflann/io/hdf5_dataset.py +0 -0
  87. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyflann/io/npy_dataset.py +0 -0
  88. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyflann/util/__init__.py +0 -0
  89. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyflann/util/weave_tools.py +0 -0
  90. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/__init__.py +0 -0
  91. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/__version__.py +0 -0
  92. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/app.py +0 -0
  93. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/cli.py +0 -0
  94. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/cli_utils.py +0 -0
  95. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/config/__init__.py +0 -0
  96. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/config/config.py +0 -0
  97. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/config/config_error.py +0 -0
  98. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/config/config_parser.py +0 -0
  99. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/config/config_transformer.py +0 -0
  100. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/config/validators/__init__.py +0 -0
  101. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/config/validators/options.py +0 -0
  102. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/logging.py +0 -0
  103. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/model/__init__.py +0 -0
  104. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/model/autocomplete/__init__.py +0 -0
  105. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/model/autocomplete/autocomplete_listener.py +0 -0
  106. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/model/common/__init__.py +0 -0
  107. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/model/common/jsonpath/JSONPathLexer.py +0 -0
  108. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/model/common/jsonpath/JSONPathListener.py +0 -0
  109. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/model/common/jsonpath/JSONPathParser.py +0 -0
  110. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/model/common/jsonpath/__init__.py +0 -0
  111. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/model/io/__init__.py +0 -0
  112. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/model/io/datasource.py +0 -0
  113. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/model/model.py +0 -0
  114. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/service/__init__.py +0 -0
  115. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/service/client.py +0 -0
  116. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/service/dispatcher.py +0 -0
  117. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/__init__.py +0 -0
  118. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/common/__init__.py +0 -0
  119. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/common/popup.py +0 -0
  120. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/common/selectable_text.py +0 -0
  121. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/components/__init__.py +0 -0
  122. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/components/autocomplete_popup/__init__.py +0 -0
  123. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/components/autocomplete_popup/autocomplete_popup.py +0 -0
  124. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/components/autocomplete_popup/autocomplete_popup_keymapper.py +0 -0
  125. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/components/help_bar/__init__.py +0 -0
  126. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/components/help_bar/help_bar.py +0 -0
  127. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/components/help_page/__init__.py +0 -0
  128. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/components/help_page/detailed_help_page.py +0 -0
  129. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/components/json_browser/__init__.py +0 -0
  130. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/components/json_browser/json_browser.py +0 -0
  131. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/components/json_browser/json_browser_keymapper.py +0 -0
  132. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/components/query_bar/__init__.py +0 -0
  133. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/components/query_bar/query_bar.py +0 -0
  134. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/components/query_bar/query_bar_keymapper.py +0 -0
  135. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/__init__.py +0 -0
  136. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/array/__init__.py +0 -0
  137. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/array/array_end_node.py +0 -0
  138. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/array/array_end_widget.py +0 -0
  139. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/array/array_node.py +0 -0
  140. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/array/array_start_widget.py +0 -0
  141. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/array/array_unexpanded_widget.py +0 -0
  142. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/json_composite_end_node.py +0 -0
  143. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/json_composite_node.py +0 -0
  144. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/json_listbox.py +0 -0
  145. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/json_listwalker.py +0 -0
  146. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/json_simple_node.py +0 -0
  147. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/json_widget.py +0 -0
  148. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/node_factory.py +0 -0
  149. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/object/__init__.py +0 -0
  150. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/object/object_end_node.py +0 -0
  151. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/object/object_end_widget.py +0 -0
  152. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/object/object_node.py +0 -0
  153. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/object/object_start_widget.py +0 -0
  154. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/object/object_unexpanded_widget.py +0 -0
  155. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/primitive/__init__.py +0 -0
  156. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/primitive/base.py +0 -0
  157. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/primitive/boolean.py +0 -0
  158. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/primitive/generic.py +0 -0
  159. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/primitive/integer.py +0 -0
  160. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/primitive/null.py +0 -0
  161. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/primitive/numeric.py +0 -0
  162. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/primitive/string.py +0 -0
  163. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/json_lib/selector/__init__.py +0 -0
  164. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/keymapper/__init__.py +0 -0
  165. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/keymapper/abstract_component_keymapper.py +0 -0
  166. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/keymapper/keymapper.py +0 -0
  167. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/keymapper/keymapper_config.py +0 -0
  168. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/keymapper/keymapper_config_parser.py +0 -0
  169. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/theme/__init__.py +0 -0
  170. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/theme/theme.py +0 -0
  171. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/theme/theme_config.py +0 -0
  172. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/theme/theme_config_parser.py +0 -0
  173. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/view_config.py +0 -0
  174. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/view_frame.py +0 -0
  175. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pyfx/view/view_manager.py +0 -0
  176. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pynput_recorder.py +0 -0
  177. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pypi_inspection.py +0 -0
  178. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/pytorch_module_explorer.py +0 -0
  179. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/refactor/string_format/__init__.py +0 -0
  180. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/refactor/string_format/format_to_fstring_converter.py +0 -0
  181. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/refactor/string_format/fstring_converter.py +0 -0
  182. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/refactor/string_format/test_format_to_fstring_converter.py +0 -0
  183. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/refactor/string_format/test_fstring_converter.py +0 -0
  184. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/rp_black_macchiato.py +0 -0
  185. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/stamp_tensor.py +0 -0
  186. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/stdin_python_highlighter.py +0 -0
  187. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/tetris/__init__.py +0 -0
  188. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/tetris/__main__.py +0 -0
  189. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/tetris/graphics/graphics/__init__.py +0 -0
  190. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/tetris/graphics/graphics/canvas.py +0 -0
  191. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/tetris/graphics/graphics/colors.py +0 -0
  192. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/tetris/graphics/graphics/console.py +0 -0
  193. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/tetris/graphics/graphics/funcs.py +0 -0
  194. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/tetris/graphics/graphics/nbinput.py +0 -0
  195. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/tetris/graphics/graphics/shapes.py +0 -0
  196. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/tetris/graphics/graphics/sprite.py +0 -0
  197. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/tetris/letters.py +0 -0
  198. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/tetris/tetrisShapes.py +0 -0
  199. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/timg/__init__.py +0 -0
  200. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/timg/__main__.py +0 -0
  201. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/timg/argparser.py +0 -0
  202. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/timg/meta.py +0 -0
  203. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/timg/methods/__init__.py +0 -0
  204. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/timg/methods/ansi.py +0 -0
  205. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/timg/methods/ansi_methods.py +0 -0
  206. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/timg/methods/ascii.py +0 -0
  207. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/timg/methods/method.py +0 -0
  208. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/timg/methods/sixel.py +0 -0
  209. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/timg/renderer.py +0 -0
  210. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/torch_hooks.py +0 -0
  211. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/torch_tools.py +0 -0
  212. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/tracetraptest.py +0 -0
  213. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/tweenline.py +0 -0
  214. {rp-0.1.1367 → rp-0.1.1368}/rp/libs/webeval_dataset.py +0 -0
  215. {rp-0.1.1367 → rp-0.1.1368}/rp/list_of_modules.py +0 -0
  216. {rp-0.1.1367 → rp-0.1.1368}/rp/misc/Todo +0 -0
  217. {rp-0.1.1367 → rp-0.1.1368}/rp/misc/__init__.py +0 -0
  218. {rp-0.1.1367 → rp-0.1.1368}/rp/misc/blm.py +0 -0
  219. {rp-0.1.1367 → rp-0.1.1368}/rp/misc/chainsaw.py +0 -0
  220. {rp-0.1.1367 → rp-0.1.1368}/rp/misc/death_of_the_mind.py +0 -0
  221. {rp-0.1.1367 → rp-0.1.1368}/rp/misc/flappy.py +0 -0
  222. {rp-0.1.1367 → rp-0.1.1368}/rp/misc/mario.py +0 -0
  223. {rp-0.1.1367 → rp-0.1.1368}/rp/misc/matrix.py +0 -0
  224. {rp-0.1.1367 → rp-0.1.1368}/rp/misc/mpi_untitled.py +0 -0
  225. {rp-0.1.1367 → rp-0.1.1368}/rp/misc/py2048.py +0 -0
  226. {rp-0.1.1367 → rp-0.1.1368}/rp/misc/pychess.py +0 -0
  227. {rp-0.1.1367 → rp-0.1.1368}/rp/misc/rp_logo.svg +0 -0
  228. {rp-0.1.1367 → rp-0.1.1368}/rp/misc/rp_mpi.py +0 -0
  229. {rp-0.1.1367 → rp-0.1.1368}/rp/misc/ryan_zshrc.py +0 -0
  230. {rp-0.1.1367 → rp-0.1.1368}/rp/misc/shotgun.py +0 -0
  231. {rp-0.1.1367 → rp-0.1.1368}/rp/misc/skia_trail_interactive_paint_demo.py +0 -0
  232. {rp-0.1.1367 → rp-0.1.1368}/rp/misc/snake.py +0 -0
  233. {rp-0.1.1367 → rp-0.1.1368}/rp/misc/sudoku.py +0 -0
  234. {rp-0.1.1367 → rp-0.1.1368}/rp/misc/tetris.py +0 -0
  235. {rp-0.1.1367 → rp-0.1.1368}/rp/misc/trans.py +0 -0
  236. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/__init__.py +0 -0
  237. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/application.py +0 -0
  238. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/auto_suggest.py +0 -0
  239. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/buffer.py +0 -0
  240. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/buffer_mapping.py +0 -0
  241. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/cache.py +0 -0
  242. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/clipboard/__init__.py +0 -0
  243. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/clipboard/base.py +0 -0
  244. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/clipboard/in_memory.py +0 -0
  245. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/clipboard/pyperclip.py +0 -0
  246. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/completion.py +0 -0
  247. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/contrib/__init__.py +0 -0
  248. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/contrib/completers/__init__.py +0 -0
  249. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/contrib/completers/base.py +0 -0
  250. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/contrib/completers/filesystem.py +0 -0
  251. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/contrib/completers/system.py +0 -0
  252. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/contrib/regular_languages/__init__.py +0 -0
  253. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/contrib/regular_languages/compiler.py +0 -0
  254. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/contrib/regular_languages/completion.py +0 -0
  255. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/contrib/regular_languages/lexer.py +0 -0
  256. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/contrib/regular_languages/regex_parser.py +0 -0
  257. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/contrib/regular_languages/validation.py +0 -0
  258. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/contrib/telnet/__init__.py +0 -0
  259. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/contrib/telnet/application.py +0 -0
  260. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/contrib/telnet/log.py +0 -0
  261. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/contrib/telnet/protocol.py +0 -0
  262. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/contrib/telnet/server.py +0 -0
  263. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/contrib/validators/__init__.py +0 -0
  264. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/contrib/validators/base.py +0 -0
  265. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/document.py +0 -0
  266. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/enums.py +0 -0
  267. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/eventloop/__init__.py +0 -0
  268. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/eventloop/asyncio_base.py +0 -0
  269. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/eventloop/asyncio_posix.py +0 -0
  270. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/eventloop/asyncio_win32.py +0 -0
  271. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/eventloop/base.py +0 -0
  272. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/eventloop/callbacks.py +0 -0
  273. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/eventloop/inputhook.py +0 -0
  274. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/eventloop/posix.py +0 -0
  275. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/eventloop/posix_utils.py +0 -0
  276. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/eventloop/select.py +0 -0
  277. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/eventloop/utils.py +0 -0
  278. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/eventloop/win32.py +0 -0
  279. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/filters/__init__.py +0 -0
  280. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/filters/base.py +0 -0
  281. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/filters/cli.py +0 -0
  282. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/filters/types.py +0 -0
  283. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/filters/utils.py +0 -0
  284. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/history.py +0 -0
  285. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/input.py +0 -0
  286. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/interface.py +0 -0
  287. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/key_binding/__init__.py +0 -0
  288. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/key_binding/bindings/__init__.py +0 -0
  289. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/key_binding/bindings/basic.py +0 -0
  290. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/key_binding/bindings/completion.py +0 -0
  291. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/key_binding/bindings/emacs.py +0 -0
  292. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/key_binding/bindings/named_commands.py +0 -0
  293. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/key_binding/bindings/scroll.py +0 -0
  294. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/key_binding/bindings/vi.py +0 -0
  295. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/key_binding/defaults.py +0 -0
  296. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/key_binding/digraphs.py +0 -0
  297. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/key_binding/input_processor.py +0 -0
  298. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/key_binding/manager.py +0 -0
  299. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/key_binding/registry.py +0 -0
  300. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/key_binding/vi_state.py +0 -0
  301. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/keys.py +0 -0
  302. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/layout/__init__.py +0 -0
  303. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/layout/containers.py +0 -0
  304. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/layout/controls.py +0 -0
  305. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/layout/dimension.py +0 -0
  306. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/layout/lexers.py +0 -0
  307. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/layout/margins.py +0 -0
  308. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/layout/menus.py +0 -0
  309. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/layout/mouse_handlers.py +0 -0
  310. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/layout/processors.py +0 -0
  311. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/layout/prompt.py +0 -0
  312. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/layout/screen.py +0 -0
  313. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/layout/toolbars.py +0 -0
  314. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/layout/untitled.py +0 -0
  315. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/layout/utils.py +0 -0
  316. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/mouse_events.py +0 -0
  317. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/output.py +0 -0
  318. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/reactive.py +0 -0
  319. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/renderer.py +0 -0
  320. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/search_state.py +0 -0
  321. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/selection.py +0 -0
  322. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/shortcuts.py +0 -0
  323. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/styles/__init__.py +0 -0
  324. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/styles/base.py +0 -0
  325. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/styles/defaults.py +0 -0
  326. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/styles/from_dict.py +0 -0
  327. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/styles/from_pygments.py +0 -0
  328. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/styles/utils.py +0 -0
  329. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/terminal/__init__.py +0 -0
  330. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/terminal/conemu_output.py +0 -0
  331. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/terminal/vt100_input.py +0 -0
  332. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/terminal/vt100_output.py +0 -0
  333. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/terminal/win32_input.py +0 -0
  334. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/terminal/win32_output.py +0 -0
  335. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/token.py +0 -0
  336. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/utils.py +0 -0
  337. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/validation.py +0 -0
  338. {rp-0.1.1367 → rp-0.1.1368}/rp/prompt_toolkit/win32_types.py +0 -0
  339. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/__init__.py +0 -0
  340. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/__main__.py +0 -0
  341. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/ast_selection.py +0 -0
  342. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/async_analyzer_base.py +0 -0
  343. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/async_jedi_highlighter.py +0 -0
  344. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/backslash_commands.py +0 -0
  345. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/bash_completer.py +0 -0
  346. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/bash_extract.py +0 -0
  347. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/bash_inline.py +0 -0
  348. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/bash_rename.py +0 -0
  349. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/bash_selection.py +0 -0
  350. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/completer.py +0 -0
  351. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/completer_old.py +0 -0
  352. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/completion_ranker.py +0 -0
  353. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/completion_schema.py +0 -0
  354. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/completion_types.py +0 -0
  355. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/eventloop.py +0 -0
  356. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/filters.py +0 -0
  357. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/history_browser.py +0 -0
  358. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/ipython.py +0 -0
  359. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/jedi_highlighter.py +0 -0
  360. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/jedi_lexer.py +0 -0
  361. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/jedi_utils.py +0 -0
  362. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/key_bindings.py +0 -0
  363. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/layout.py +0 -0
  364. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/patch_linecache.py +0 -0
  365. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/path_completer_utils.py +0 -0
  366. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/prompt_style.py +0 -0
  367. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/python_input.py +0 -0
  368. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/r_iterm_comm.py +0 -0
  369. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/refactor_extract.py +0 -0
  370. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/refactor_inline.py +0 -0
  371. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/refactor_move.py +0 -0
  372. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/refactor_move_bash.py +0 -0
  373. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/refactor_rename.py +0 -0
  374. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/repl.py +0 -0
  375. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/rp_ptpdb/__init__.py +0 -0
  376. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/rp_ptpdb/commands.py +0 -0
  377. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/rp_ptpdb/completers.py +0 -0
  378. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/rp_ptpdb/completion_hints.py +0 -0
  379. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/rp_ptpdb/grammar.py +0 -0
  380. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/rp_ptpdb/key_bindings.py +0 -0
  381. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/rp_ptpdb/layout.py +0 -0
  382. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/rp_ptpdb/style.py +0 -0
  383. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/rp_ptpdb/toolbars.py +0 -0
  384. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/selection_utils.py +0 -0
  385. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/style.py +0 -0
  386. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/testable_keybindings.py +0 -0
  387. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/treesitter_selection.py +0 -0
  388. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/treesitter_semantic.py +0 -0
  389. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/unreachable_detector.py +0 -0
  390. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/utils.py +0 -0
  391. {rp-0.1.1367 → rp-0.1.1368}/rp/rp_ptpython/validator.py +0 -0
  392. {rp-0.1.1367 → rp-0.1.1368}/rp/ryan_vimrc.py +0 -0
  393. {rp-0.1.1367 → rp-0.1.1368}/rp/web_evaluator.py +0 -0
  394. {rp-0.1.1367 → rp-0.1.1368}/rp.egg-info/SOURCES.txt +0 -0
  395. {rp-0.1.1367 → rp-0.1.1368}/rp.egg-info/dependency_links.txt +0 -0
  396. {rp-0.1.1367 → rp-0.1.1368}/rp.egg-info/entry_points.txt +0 -0
  397. {rp-0.1.1367 → rp-0.1.1368}/rp.egg-info/requires.txt +0 -0
  398. {rp-0.1.1367 → rp-0.1.1368}/rp.egg-info/top_level.txt +0 -0
  399. {rp-0.1.1367 → rp-0.1.1368}/setup.cfg +0 -0
  400. {rp-0.1.1367 → rp-0.1.1368}/setup.py +0 -0
  401. {rp-0.1.1367 → rp-0.1.1368}/untitled.c +0 -0
  402. {rp-0.1.1367 → rp-0.1.1368}/update_module_paths.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.0
2
2
  Name: rp
3
- Version: 0.1.1367
3
+ Version: 0.1.1368
4
4
  Summary: Ryan's Python: IDE + Library + Tools
5
5
  Home-page: https://github.com/RyannDaGreat/rp
6
6
  Author: Ryan Burgert
@@ -20,13 +20,8 @@ export PATH="$(dirname "$BASH_BIN"):$PATH"
20
20
 
21
21
  pid_emoji() { echo "${EMOJIS:$(($1 % ${#EMOJIS})):1}"; }
22
22
 
23
- # Find parent claude process if it exists, else just take the parent PID
24
- PID=$PPID
25
- TRACER=$PID
26
- while [ "$PID" != "1" ]; do
27
- [[ "$(ps -o comm= -p "$PID")" == *claude* ]] && { PID=$TRACER; break; }
28
- PID=$(ps -o ppid= -p "$PID" | tr -d ' ')
29
- done
23
+ # Use RP_PID if set (parent rp process), else fall back to PPID
24
+ PID=${RP_PID:-$PPID}
30
25
 
31
26
 
32
27
  EMOJI=$(pid_emoji $PID)
@@ -130,6 +130,7 @@ _fast_pterm_history_size = 1024 * 1024
130
130
  os.environ['RP_SYS_EXECUTABLE'] = sys.executable
131
131
  os.environ['RP_PUDB_SYS_VERSION_INFO'] = repr(list(sys.version_info)) # For PUDB editing in vim
132
132
  os.environ['RP_SITE_PACKAGES'] = _site_packages # For PUDB editing in vim
133
+ os.environ['RP_PID'] = str(os.getpid()) # For claude_bash.sh
133
134
 
134
135
  _original_pwd = os.getcwd()
135
136
 
@@ -13018,7 +13019,7 @@ def replace_if_none(value):
13018
13019
  target = ast.unparse(assign_node.targets[0])
13019
13020
 
13020
13021
  # Evaluate the assignment target in the caller's frame
13021
- target_value = eval(target, frame.f_locals)
13022
+ target_value = eval(target, dict(frame.f_locals))
13022
13023
 
13023
13024
  # Return value if the target value is None, otherwise return the target value
13024
13025
  return value if target_value is None else target_value
@@ -24191,6 +24192,21 @@ def _ISM(ans,*,preview:str=None):
24191
24192
  TODO make it for things other than lists of strings, like lists of ints. To do this make it into a line-numbered string dict -> values then use those values to look up keys -> get answer. Better yet create a fzf wrapper for this task - to select non-string things!
24192
24193
  """
24193
24194
 
24195
+ if _is_pandas_dataframe(ans):
24196
+ # Stream rows lazily for large DataFrames
24197
+ def row_generator():
24198
+ for i in range(len(ans)):
24199
+ row_str = '\t'.join(str(v) for v in ans.iloc[i].values)
24200
+ yield "%s\t|\t%s" % (i, row_str)
24201
+
24202
+ selected = _iterfzf(row_generator(), multi=True, exact=True, preview=preview)
24203
+ if selected is None or not selected:
24204
+ return ans.iloc[[]] # Return empty DataFrame
24205
+
24206
+ # Parse indices from selected lines (format: "idx\t|\tval1\tval2...")
24207
+ indices = [int(line.split('\t')[0]) for line in selected]
24208
+ return ans.iloc[indices]
24209
+
24194
24210
  try:
24195
24211
  ans=dict(ans)
24196
24212
  except Exception:
@@ -30224,6 +30240,10 @@ def has_len(x):
30224
30240
  """ Returns True if you can safely call len(x) """
30225
30241
  return hasattr(x,'__len__')
30226
30242
 
30243
+ def _get_len_else_none(x):
30244
+ """ Returns len(x) if x has a length, otherwise None """
30245
+ return len(x) if has_len(x) else None
30246
+
30227
30247
  def as_example_comment(code,*,indent=' '*8):
30228
30248
  '''
30229
30249
  Takes code and makes it suitable for using in docstrings
@@ -42835,24 +42855,41 @@ class VideoWriterMP4:
42835
42855
  A class for writing MP4 videos frame by frame using ffmpeg.
42836
42856
 
42837
42857
  Creates MP4 videos by writing individual frames sequentially. Handles automatic
42838
- dimension adjustment to ensure compatibility with libx264 codec requirements.
42839
-
42858
+ dimension adjustment to ensure compatibility with codec requirements.
42859
+
42840
42860
  Args:
42841
42861
  path: Output file path (defaults to auto-generated, adds .mp4 if needed)
42842
- framerate: Video framerate in fps (default: 60)
42862
+ framerate: Video framerate in fps (default: 60)
42843
42863
  video_bitrate: Quality setting - 'low'/'medium'/'high' or int (default: 'medium')
42844
42864
  height/width: Force specific dimensions (default: auto from first frame)
42845
42865
  show_progress: Show ffmpeg progress output (default: True)
42846
-
42866
+ codec: Video codec - 'h264', 'h265'/'hevc', 'vp9', 'av1', or 'mp4v' (default: 'h264')
42867
+ crf: Constant Rate Factor for quality. Lower = better quality, larger file.
42868
+ None uses codec default. mp4v doesn't support CRF (uses bitrate instead).
42869
+ - h264/h265: 0-51, default ~23, good quality ~18-23
42870
+ - vp9: 0-63, default ~31, good quality ~30-35
42871
+ - av1: 0-63, default ~30, good quality ~23-30
42872
+
42847
42873
  Example:
42848
42874
  >>> writer = VideoWriterMP4('output.mp4', framerate=30)
42849
42875
  >>> writer.write_frame(image1)
42850
- >>> writer.write_frame(image2)
42876
+ >>> writer.write_frame(image2)
42851
42877
  >>> writer.finish()
42852
42878
  """
42853
42879
  #Todo: If this ever gets fucky, try https://github.com/imageio/imageio-ffmpeg - it looks pretty good!
42854
42880
 
42855
- def __init__(self, path=None, framerate=60, video_bitrate='medium', height=None, width=None, show_progress=True):
42881
+ _CODEC_MAP = {
42882
+ 'h264' : 'libx264',
42883
+ 'x264' : 'libx264',
42884
+ 'h265' : 'libx265',
42885
+ 'x265' : 'libx265',
42886
+ 'hevc' : 'libx265',
42887
+ 'vp9' : 'libvpx-vp9',
42888
+ 'av1' : 'libaom-av1',
42889
+ 'mp4v' : 'mpeg4',
42890
+ }
42891
+
42892
+ def __init__(self, path=None, framerate=60, video_bitrate='medium', height=None, width=None, show_progress=True, codec='h264', crf=None):
42856
42893
  # Originally from: https://github.com/kkroening/ffmpeg-python/issues/246
42857
42894
 
42858
42895
  _ensure_ffmpeg_installed()
@@ -42869,12 +42906,16 @@ class VideoWriterMP4:
42869
42906
  assert path.endswith('.mp4')
42870
42907
  assert isinstance(video_bitrate,int)
42871
42908
 
42872
- vcodec='libx264' #This used to be an argument, but I don't know if I'll ever change it
42909
+ # Resolve codec name to ffmpeg codec
42910
+ codec_lower = codec.lower()
42911
+ assert codec_lower in self._CODEC_MAP, "Unknown codec %r. Choose from: %s" % (codec, list(self._CODEC_MAP.keys()))
42912
+ vcodec = self._CODEC_MAP[codec_lower]
42873
42913
 
42874
42914
  self.path = get_absolute_path(path)
42875
42915
  self.vcodec = vcodec
42876
42916
  self.framerate = framerate
42877
42917
  self.video_bitrate = video_bitrate
42918
+ self.crf = crf
42878
42919
 
42879
42920
  self.started = False
42880
42921
  self.finished = False
@@ -42908,6 +42949,17 @@ class VideoWriterMP4:
42908
42949
  if width%2:
42909
42950
  width-=1
42910
42951
 
42952
+ # Build output kwargs - use CRF if specified, otherwise bitrate
42953
+ # Note: mpeg4 (mp4v) doesn't support CRF
42954
+ output_kwargs = dict(
42955
+ pix_fmt="yuv420p",
42956
+ vcodec=self.vcodec,
42957
+ )
42958
+ if self.crf is not None and self.vcodec != 'mpeg4':
42959
+ output_kwargs['crf'] = self.crf
42960
+ else:
42961
+ output_kwargs['video_bitrate'] = self.video_bitrate
42962
+
42911
42963
  self.process = (
42912
42964
  ffmpeg.input(
42913
42965
  "pipe:",
@@ -42917,13 +42969,7 @@ class VideoWriterMP4:
42917
42969
  r=self.framerate,
42918
42970
  **(dict(loglevel="quiet") if not self.show_progress else dict())
42919
42971
  )
42920
- .output(
42921
- self.path,
42922
- pix_fmt="yuv420p",
42923
- vcodec=self.vcodec,
42924
- video_bitrate=self.video_bitrate,
42925
- # Interstingly, this is not where the framerate should go, based on my experiments...
42926
- )
42972
+ .output(self.path, **output_kwargs)
42927
42973
  .overwrite_output()
42928
42974
  .run_async(pipe_stdin=True)
42929
42975
  )
@@ -43038,7 +43084,7 @@ def set_save_video_mp4_default_backend(backend):
43038
43084
  global _save_video_mp4_default_backend
43039
43085
  _save_video_mp4_default_backend = backend
43040
43086
 
43041
- def save_video_mp4(frames, path=None, framerate=60, *, video_bitrate='high', height=None, width=None, show_progress=True, backend=None):
43087
+ def save_video_mp4(frames, path=None, framerate=60, *, video_bitrate='high', height=None, width=None, show_progress=True, backend=None, codec='h264', crf=None):
43042
43088
  """
43043
43089
  frames: a list of images as defined by rp.is_image(). Saves an .mp4 file at the path
43044
43090
  - frames can also contain strings, if those strings are image file paths
@@ -43051,7 +43097,20 @@ def save_video_mp4(frames, path=None, framerate=60, *, video_bitrate='high', hei
43051
43097
  video_bitrate: controls the quality of the output. If your backend is opencv, this parameter has no effect!
43052
43098
  height, width: If frames have various sizes, and are given as a generator, use this to set the height and width or else it will use the first frame's height and width
43053
43099
  show_progress: Whether to show the saving progress
43054
- backend: Defaults to 'ffmpeg'. Can also be 'cv2' if you can't install 'ffmpeg' for some reason
43100
+ backend: Defaults to 'ffmpeg'. Can also be 'cv2' if you can't install 'ffmpeg' for some reason.
43101
+ Note: cv2 backend uses mp4v codec and ignores codec/crf options.
43102
+ codec: Video codec - 'h264', 'h265'/'hevc', 'vp9', 'av1', or 'mp4v' (default: 'h264')
43103
+ - h264: Most compatible, good quality, fast encoding
43104
+ - h265/hevc: Better compression than h264, slower encoding
43105
+ - vp9: Good for web, royalty-free, slower encoding
43106
+ - av1: Best compression, royalty-free, slowest encoding
43107
+ - mp4v: Legacy MPEG-4 Part 2, lower quality, no CRF support
43108
+ crf: Constant Rate Factor for quality. Lower = better quality, larger file.
43109
+ None uses codec default. mp4v doesn't support CRF (uses bitrate instead).
43110
+ If specified, overrides video_bitrate - which is the more modern way of specifying video quality.
43111
+ - h264/h265: 0-51, default ~23, good quality ~18-23
43112
+ - vp9: 0-63, default ~31, good quality ~30-35
43113
+ - av1: 0-63, default ~30, good quality ~23-30
43055
43114
 
43056
43115
  If you can't install ffmpeg, please set the backend to 'cv2'
43057
43116
  If you need this to be the default, call rp.r.set_save_video_mp4_default_backend('cv2') instead of 'ffmpeg', the default
@@ -43102,7 +43161,7 @@ def save_video_mp4(frames, path=None, framerate=60, *, video_bitrate='high', hei
43102
43161
  # frames = as_byte_images(frames, copy=False)
43103
43162
  # frames = as_rgb_images(frames, copy=False)
43104
43163
 
43105
- writer = VideoWriterMP4(path, framerate, video_bitrate=video_bitrate, height=height, width=width, show_progress=show_progress)
43164
+ writer = VideoWriterMP4(path, framerate, video_bitrate=video_bitrate, height=height, width=width, show_progress=show_progress, codec=codec, crf=crf)
43106
43165
 
43107
43166
  #Make frames speficiable as a glob, folder path, list of images, or list of image paths
43108
43167
  def load_frame(frame):
@@ -45264,7 +45323,7 @@ def remove_duplicate_frames(video, *, lazy=False, show_progress=False, as_indice
45264
45323
  pass
45265
45324
 
45266
45325
  if show_progress:
45267
- video=eta(video, title='rp.remove_duplicate_frames')
45326
+ video = eta(video, title='rp.remove_duplicate_frames', length=_get_len_else_none(video))
45268
45327
 
45269
45328
  output = helper()
45270
45329
  if not lazy:
@@ -47288,7 +47347,7 @@ def get_scope(frames_back=0):
47288
47347
 
47289
47348
  frame=frame.f_back
47290
47349
 
47291
- return {'locals':frame.f_locals, 'globals':frame.f_globals}[scope]
47350
+ return {'locals':dict(frame.f_locals), 'globals':frame.f_globals}[scope]
47292
47351
 
47293
47352
 
47294
47353
  def _get_visible_scope(frames_back=0):
@@ -51237,7 +51296,7 @@ def get_pids_using_ports(ports, *, strict=True, show_progress=False):
51237
51296
 
51238
51297
  """
51239
51298
  if show_progress:
51240
- ports = eta(ports, title=get_current_function_name())
51299
+ ports = eta(ports, title=get_current_function_name(), length=_get_len_else_none(ports))
51241
51300
  return [gather_args_call(get_process_using_port, port) for port in ports]
51242
51301
 
51243
51302
  def compress_bytes(data: bytes) -> bytes:
@@ -55090,11 +55149,12 @@ def cv_resize_images(
55090
55149
  images=detuple(images)
55091
55150
 
55092
55151
  as_numpy = is_numpy_array(images)
55152
+ length = _get_len_else_none(images)
55093
55153
 
55094
55154
  images=(cv_resize_image(image, size, interp, copy=copy) for image in images)
55095
55155
 
55096
55156
  if show_progress:
55097
- images = eta(images, title="rp.cv_resize_images")
55157
+ images = eta(images, title="rp.cv_resize_images", length=length)
55098
55158
 
55099
55159
  if not lazy:
55100
55160
  #Process them all
@@ -55158,8 +55218,8 @@ def resize_videos(
55158
55218
  )
55159
55219
  for video in videos
55160
55220
  )
55161
-
55162
- if show_progress: videos = eta(videos, title='resize_videos')
55221
+
55222
+ if show_progress: output = eta(output, title='resize_videos', length=_get_len_else_none(videos))
55163
55223
  if not lazy:
55164
55224
  output=list(output)
55165
55225
  if as_numpy:
@@ -57305,7 +57365,7 @@ def resize_images_to_hold(
57305
57365
  )
57306
57366
 
57307
57367
  if show_progress:
57308
- output = eta(output, title=get_current_function_name())
57368
+ output = eta(output, title=get_current_function_name(), length=_get_len_else_none(images))
57309
57369
 
57310
57370
  if not lazy:
57311
57371
  output = list(output)
@@ -57338,7 +57398,7 @@ def resize_images_to_fit(
57338
57398
  )
57339
57399
 
57340
57400
  if show_progress:
57341
- output = eta(output, title=get_current_function_name())
57401
+ output = eta(output, title=get_current_function_name(), length=_get_len_else_none(images))
57342
57402
 
57343
57403
  if not lazy:
57344
57404
  output = list(output)
@@ -57486,17 +57546,17 @@ def resize_images_to_min_size(*images, interp="bilinear", alpha_weighted=False):
57486
57546
  """
57487
57547
  return resize_images(*images, size=get_min_image_dimensions(*images), interp=interp, alpha_weighted=alpha_weighted)
57488
57548
 
57489
- def resize_videos_to_min_size(*videos,interp='auto'):
57549
+ def resize_videos_to_min_size(*videos, interp='auto', show_progress=False):
57490
57550
  videos = detuple(videos)
57491
57551
  min_height = min(get_video_heights(videos))
57492
57552
  min_width = min(get_video_widths (videos))
57493
- return resize_videos(videos, size=(min_height, min_width),interp=interp)
57553
+ return resize_videos(videos, size=(min_height, min_width), interp=interp, show_progress=show_progress)
57494
57554
 
57495
- def resize_videos_to_max_size(*videos,interp='auto'):
57555
+ def resize_videos_to_max_size(*videos, interp='auto', show_progress=False):
57496
57556
  videos = detuple(videos)
57497
57557
  max_height = max(get_video_heights(videos))
57498
57558
  max_width = max(get_video_widths (videos))
57499
- return resize_videos(videos, size=(max_height, max_width),interp=interp)
57559
+ return resize_videos(videos, size=(max_height, max_width), interp=interp, show_progress=show_progress)
57500
57560
 
57501
57561
  def _iterfzf_raw(
57502
57562
  # CHECK: When the signature changes, __init__.pyi file should also change.
@@ -66534,3 +66594,4 @@ for _env_var_name in sorted(os.environ):
66534
66594
  # args=[args]
66535
66595
 
66536
66596
  # Version Oct24 2021
66597
+
@@ -0,0 +1 @@
1
+ 1368
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.0
2
2
  Name: rp
3
- Version: 0.1.1367
3
+ Version: 0.1.1368
4
4
  Summary: Ryan's Python: IDE + Library + Tools
5
5
  Home-page: https://github.com/RyannDaGreat/rp
6
6
  Author: Ryan Burgert
rp-0.1.1368/version.py ADDED
@@ -0,0 +1 @@
1
+ 1368
rp-0.1.1367/rp/version.py DELETED
@@ -1 +0,0 @@
1
- 1367
rp-0.1.1367/version.py DELETED
@@ -1 +0,0 @@
1
- 1367
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
File without changes
File without changes