rp 0.1.1383__tar.gz → 0.1.1385__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.
- {rp-0.1.1383 → rp-0.1.1385}/PKG-INFO +1 -1
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/powerpoint/__main__.py +10 -8
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/powerpoint/convert_pptx_videos_to_gifs.py +11 -11
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/powerpoint/convert_tmux.py +13 -11
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/powerpoint/google_slides_upload.py +31 -7
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/powerpoint/media_to_slides.py +35 -22
- {rp-0.1.1383 → rp-0.1.1385}/rp/r.py +3 -0
- rp-0.1.1385/rp/version.py +1 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp.egg-info/PKG-INFO +1 -1
- rp-0.1.1385/version.py +1 -0
- rp-0.1.1383/rp/version.py +0 -1
- rp-0.1.1383/version.py +0 -1
- {rp-0.1.1383 → rp-0.1.1385}/.gitignore +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/.idea/QuickPython.iml +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/.idea/QuickPython.time +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/.idea/encodings.xml +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/.idea/inspectionProfiles/Project_Default.xml +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/.idea/misc.xml +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/.idea/modules.xml +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/.idea/vcs.xml +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/.idea/workspace.xml +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/.publish.sh.un~ +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/.setup.py.un~ +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/.update_module_paths.py.un~ +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/LICENSE.txt +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/README +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/Scrap +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/aoisdasd +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/increment_version.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/oijio +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/publish.sh +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/pyqtconsoletest.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/__main__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/documentation.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/Pyperclip.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/debug_comment.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/draw_code_minimap.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/graveyard.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/_compatibility.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/cache.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/file_io.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/grammar.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/normalizer.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/parser.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/pgen2/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/pgen2/generator.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/pgen2/grammar_parser.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/python/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/python/diff.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/python/errors.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/python/grammar26.txt +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/python/grammar27.txt +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/python/grammar310.txt +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/python/grammar311.txt +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/python/grammar312.txt +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/python/grammar33.txt +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/python/grammar34.txt +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/python/grammar35.txt +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/python/grammar36.txt +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/python/grammar37.txt +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/python/grammar38.txt +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/python/grammar39.txt +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/python/parser.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/python/pep8.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/python/prefix.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/python/token.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/python/tokenize.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/python/tree.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/tree.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/parso/utils.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/peepdis/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/peepdis/core.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/peepdis/datastructures.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/peepdis/legacy.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/peepdis/preferences.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/powerpoint/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/powerpoint/pptx_utils.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/powerpoint_converter.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/profile_vim_plugins.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pw_crypt.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyflann/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyflann/bindings/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyflann/bindings/flann_ctypes.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyflann/exceptions.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyflann/index.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyflann/io/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyflann/io/binary_dataset.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyflann/io/dat_dataset.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyflann/io/dataset.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyflann/io/hdf5_dataset.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyflann/io/npy_dataset.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyflann/util/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyflann/util/weave_tools.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/__version__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/app.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/cli.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/cli_utils.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/config/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/config/config.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/config/config_error.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/config/config_parser.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/config/config_transformer.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/config/validators/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/config/validators/options.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/logging.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/model/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/model/autocomplete/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/model/autocomplete/autocomplete_listener.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/model/common/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/model/common/jsonpath/JSONPathLexer.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/model/common/jsonpath/JSONPathListener.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/model/common/jsonpath/JSONPathParser.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/model/common/jsonpath/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/model/io/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/model/io/datasource.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/model/model.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/service/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/service/client.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/service/dispatcher.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/common/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/common/popup.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/common/selectable_text.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/components/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/components/autocomplete_popup/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/components/autocomplete_popup/autocomplete_popup.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/components/autocomplete_popup/autocomplete_popup_keymapper.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/components/help_bar/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/components/help_bar/help_bar.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/components/help_page/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/components/help_page/detailed_help_page.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/components/json_browser/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/components/json_browser/json_browser.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/components/json_browser/json_browser_keymapper.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/components/query_bar/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/components/query_bar/query_bar.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/components/query_bar/query_bar_keymapper.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/array/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/array/array_end_node.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/array/array_end_widget.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/array/array_node.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/array/array_start_widget.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/array/array_unexpanded_widget.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/json_composite_end_node.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/json_composite_node.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/json_listbox.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/json_listwalker.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/json_simple_node.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/json_widget.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/node_factory.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/object/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/object/object_end_node.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/object/object_end_widget.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/object/object_node.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/object/object_start_widget.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/object/object_unexpanded_widget.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/primitive/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/primitive/base.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/primitive/boolean.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/primitive/generic.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/primitive/integer.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/primitive/null.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/primitive/numeric.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/primitive/string.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/json_lib/selector/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/keymapper/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/keymapper/abstract_component_keymapper.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/keymapper/keymapper.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/keymapper/keymapper_config.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/keymapper/keymapper_config_parser.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/theme/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/theme/theme.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/theme/theme_config.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/theme/theme_config_parser.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/view_config.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/view_frame.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pyfx/view/view_manager.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pynput_recorder.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pypi_inspection.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/pytorch_module_explorer.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/refactor/string_format/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/refactor/string_format/format_to_fstring_converter.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/refactor/string_format/fstring_converter.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/refactor/string_format/test_format_to_fstring_converter.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/refactor/string_format/test_fstring_converter.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/rp_black_macchiato.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/stamp_tensor.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/stdin_python_highlighter.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/tetris/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/tetris/__main__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/tetris/graphics/graphics/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/tetris/graphics/graphics/canvas.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/tetris/graphics/graphics/colors.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/tetris/graphics/graphics/console.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/tetris/graphics/graphics/funcs.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/tetris/graphics/graphics/nbinput.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/tetris/graphics/graphics/shapes.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/tetris/graphics/graphics/sprite.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/tetris/letters.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/tetris/tetrisShapes.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/timg/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/timg/__main__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/timg/argparser.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/timg/meta.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/timg/methods/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/timg/methods/ansi.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/timg/methods/ansi_methods.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/timg/methods/ascii.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/timg/methods/method.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/timg/methods/sixel.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/timg/renderer.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/torch_hooks.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/torch_tools.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/tracetraptest.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/tweenline.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/libs/webeval_dataset.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/list_of_modules.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/misc/Todo +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/misc/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/misc/blm.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/misc/chainsaw.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/misc/claude_bash.sh +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/misc/claude_panel.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/misc/death_of_the_mind.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/misc/flappy.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/misc/mario.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/misc/matrix.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/misc/mpi_untitled.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/misc/py2048.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/misc/pychess.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/misc/rp_logo.svg +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/misc/rp_mpi.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/misc/ryan_zshrc.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/misc/shotgun.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/misc/skia_trail_interactive_paint_demo.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/misc/snake.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/misc/sudoku.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/misc/tetris.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/misc/trans.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/application.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/auto_suggest.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/buffer.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/buffer_mapping.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/cache.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/clipboard/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/clipboard/base.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/clipboard/in_memory.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/clipboard/pyperclip.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/completion.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/contrib/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/contrib/completers/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/contrib/completers/base.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/contrib/completers/filesystem.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/contrib/completers/system.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/contrib/regular_languages/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/contrib/regular_languages/compiler.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/contrib/regular_languages/completion.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/contrib/regular_languages/lexer.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/contrib/regular_languages/regex_parser.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/contrib/regular_languages/validation.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/contrib/telnet/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/contrib/telnet/application.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/contrib/telnet/log.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/contrib/telnet/protocol.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/contrib/telnet/server.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/contrib/validators/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/contrib/validators/base.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/document.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/enums.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/eventloop/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/eventloop/asyncio_base.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/eventloop/asyncio_posix.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/eventloop/asyncio_win32.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/eventloop/base.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/eventloop/callbacks.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/eventloop/inputhook.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/eventloop/posix.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/eventloop/posix_utils.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/eventloop/select.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/eventloop/utils.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/eventloop/win32.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/filters/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/filters/base.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/filters/cli.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/filters/types.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/filters/utils.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/history.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/input.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/interface.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/key_binding/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/key_binding/bindings/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/key_binding/bindings/basic.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/key_binding/bindings/completion.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/key_binding/bindings/emacs.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/key_binding/bindings/named_commands.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/key_binding/bindings/scroll.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/key_binding/bindings/vi.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/key_binding/defaults.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/key_binding/digraphs.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/key_binding/input_processor.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/key_binding/manager.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/key_binding/registry.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/key_binding/vi_state.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/keys.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/layout/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/layout/containers.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/layout/controls.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/layout/dimension.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/layout/lexers.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/layout/margins.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/layout/menus.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/layout/mouse_handlers.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/layout/processors.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/layout/prompt.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/layout/screen.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/layout/toolbars.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/layout/untitled.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/layout/utils.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/mouse_events.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/output.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/reactive.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/renderer.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/search_state.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/selection.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/shortcuts.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/styles/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/styles/base.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/styles/defaults.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/styles/from_dict.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/styles/from_pygments.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/styles/utils.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/terminal/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/terminal/conemu_output.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/terminal/vt100_input.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/terminal/vt100_output.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/terminal/win32_input.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/terminal/win32_output.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/token.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/utils.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/validation.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/prompt_toolkit/win32_types.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/__main__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/ast_selection.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/async_analyzer_base.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/async_jedi_highlighter.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/backslash_commands.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/bash_completer.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/bash_extract.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/bash_inline.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/bash_rename.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/bash_selection.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/completer.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/completer_old.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/completion_ranker.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/completion_schema.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/completion_types.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/eventloop.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/filters.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/history_browser.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/ipython.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/jedi_highlighter.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/jedi_lexer.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/jedi_utils.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/key_bindings.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/layout.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/patch_linecache.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/path_completer_utils.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/prompt_style.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/python_input.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/r_iterm_comm.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/refactor_extract.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/refactor_inline.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/refactor_move.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/refactor_move_bash.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/refactor_rename.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/repl.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/rp_ptpdb/__init__.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/rp_ptpdb/commands.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/rp_ptpdb/completers.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/rp_ptpdb/completion_hints.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/rp_ptpdb/grammar.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/rp_ptpdb/key_bindings.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/rp_ptpdb/layout.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/rp_ptpdb/style.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/rp_ptpdb/toolbars.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/selection_utils.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/style.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/testable_keybindings.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/treesitter_selection.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/treesitter_semantic.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/unreachable_detector.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/utils.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/rp_ptpython/validator.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/ryan_vimrc.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp/web_evaluator.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp.egg-info/SOURCES.txt +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp.egg-info/dependency_links.txt +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp.egg-info/entry_points.txt +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp.egg-info/requires.txt +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/rp.egg-info/top_level.txt +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/setup.cfg +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/setup.py +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/untitled.c +0 -0
- {rp-0.1.1383 → rp-0.1.1385}/update_module_paths.py +0 -0
|
@@ -26,9 +26,9 @@ Commands:
|
|
|
26
26
|
|
|
27
27
|
Examples:
|
|
28
28
|
rp run ppt convert input.pptx
|
|
29
|
-
rp run ppt convert input.pptx --
|
|
30
|
-
rp run ppt convert input.pptx --
|
|
31
|
-
rp run ppt convert_tmux input.pptx --
|
|
29
|
+
rp run ppt convert input.pptx --part_size 50MB
|
|
30
|
+
rp run ppt convert input.pptx --num_parts 3 --upload
|
|
31
|
+
rp run ppt convert_tmux input.pptx --num_parts 3
|
|
32
32
|
rp run ppt upload output_folder/
|
|
33
33
|
rp run ppt upload part1.pptx part2.pptx part3.pptx
|
|
34
34
|
rp run ppt media_to_slides video.mp4 image.png
|
|
@@ -106,7 +106,7 @@ def main():
|
|
|
106
106
|
while i < len(rest):
|
|
107
107
|
arg = rest[i]
|
|
108
108
|
if arg.startswith('--'):
|
|
109
|
-
key = arg[2:]
|
|
109
|
+
key = arg[2:]
|
|
110
110
|
if key == 'upload':
|
|
111
111
|
kwargs['upload'] = True
|
|
112
112
|
elif key == 'no_dither':
|
|
@@ -147,7 +147,7 @@ def main():
|
|
|
147
147
|
while i < len(rest):
|
|
148
148
|
arg = rest[i]
|
|
149
149
|
if arg.startswith('--'):
|
|
150
|
-
key = arg[2:]
|
|
150
|
+
key = arg[2:]
|
|
151
151
|
if key == 'no_dither':
|
|
152
152
|
kwargs['dither'] = False
|
|
153
153
|
elif key == 'dither':
|
|
@@ -182,10 +182,10 @@ def main():
|
|
|
182
182
|
i = 0
|
|
183
183
|
while i < len(rest):
|
|
184
184
|
arg = rest[i]
|
|
185
|
-
if arg == '--
|
|
185
|
+
if arg == '--folder_name' and i + 1 < len(rest):
|
|
186
186
|
folder_name = rest[i + 1]
|
|
187
187
|
i += 1
|
|
188
|
-
elif arg == '--
|
|
188
|
+
elif arg == '--merged_name' and i + 1 < len(rest):
|
|
189
189
|
merged_name = rest[i + 1]
|
|
190
190
|
i += 1
|
|
191
191
|
elif not arg.startswith('--'):
|
|
@@ -194,7 +194,9 @@ def main():
|
|
|
194
194
|
cmd_upload(*paths, folder_name=folder_name, merged_name=merged_name)
|
|
195
195
|
|
|
196
196
|
elif cmd == 'media_to_slides':
|
|
197
|
-
|
|
197
|
+
if not rest or rest[0] in ('-h', '--help'):
|
|
198
|
+
print(media_to_slides_cli.__doc__)
|
|
199
|
+
return
|
|
198
200
|
rp.pip_import('fire')
|
|
199
201
|
import fire
|
|
200
202
|
sys.argv = ['media_to_slides'] + rest
|
|
@@ -734,28 +734,28 @@ Arguments:
|
|
|
734
734
|
output_pptx Output path (optional, default: <input>_gifs_<size>.pptx)
|
|
735
735
|
|
|
736
736
|
Options:
|
|
737
|
-
--
|
|
738
|
-
--
|
|
737
|
+
--part_size Target file size per part (default: 100MB)
|
|
738
|
+
--num_parts Split output into N parts (default: 1)
|
|
739
739
|
--fps Max GIF frames per second (default: 10)
|
|
740
|
-
--
|
|
740
|
+
--dpi_iters Binary search iterations to match part_size (default: 5)
|
|
741
741
|
--dither Enable GIF dithering (default: True)
|
|
742
|
-
--
|
|
742
|
+
--no_dither Disable dithering (smaller files, may have color banding)
|
|
743
743
|
--slides Slide range to process (default: all)
|
|
744
744
|
--upload Upload to Google Slides after conversion (default: False)
|
|
745
745
|
|
|
746
746
|
Examples:
|
|
747
747
|
python convert_pptx_videos_to_gifs.py input.pptx
|
|
748
748
|
python convert_pptx_videos_to_gifs.py input.pptx output.pptx
|
|
749
|
-
python convert_pptx_videos_to_gifs.py input.pptx --
|
|
750
|
-
python convert_pptx_videos_to_gifs.py input.pptx --
|
|
751
|
-
python convert_pptx_videos_to_gifs.py input.pptx --
|
|
749
|
+
python convert_pptx_videos_to_gifs.py input.pptx --part_size 50MB
|
|
750
|
+
python convert_pptx_videos_to_gifs.py input.pptx --part_size 50MB --num_parts 3
|
|
751
|
+
python convert_pptx_videos_to_gifs.py input.pptx --num_parts 3 --upload
|
|
752
752
|
python convert_pptx_videos_to_gifs.py input.pptx --fps 5
|
|
753
753
|
python convert_pptx_videos_to_gifs.py input.pptx --fps 10000 # keep original fps
|
|
754
|
-
python convert_pptx_videos_to_gifs.py input.pptx --
|
|
755
|
-
python convert_pptx_videos_to_gifs.py input.pptx --
|
|
754
|
+
python convert_pptx_videos_to_gifs.py input.pptx --dpi_iters 10
|
|
755
|
+
python convert_pptx_videos_to_gifs.py input.pptx --no_dither
|
|
756
756
|
python convert_pptx_videos_to_gifs.py input.pptx --slides 1-10
|
|
757
757
|
python convert_pptx_videos_to_gifs.py input.pptx --slides 1,3,5,10-15
|
|
758
|
-
python convert_pptx_videos_to_gifs.py input.pptx --
|
|
758
|
+
python convert_pptx_videos_to_gifs.py input.pptx --part_size 50MB --fps 8 --num_parts 5 --upload"""
|
|
759
759
|
|
|
760
760
|
|
|
761
761
|
if __name__ == '__main__':
|
|
@@ -784,7 +784,7 @@ if __name__ == '__main__':
|
|
|
784
784
|
while i < len(args):
|
|
785
785
|
arg = args[i]
|
|
786
786
|
if arg.startswith('--'):
|
|
787
|
-
key = arg[2:]
|
|
787
|
+
key = arg[2:]
|
|
788
788
|
if key == 'upload':
|
|
789
789
|
kwargs['upload'] = True
|
|
790
790
|
elif key == 'no_dither':
|
|
@@ -187,10 +187,12 @@ def run_orchestrator(
|
|
|
187
187
|
from googleapiclient.discovery import build
|
|
188
188
|
drive_service = build('drive', 'v3', credentials=creds)
|
|
189
189
|
|
|
190
|
-
# Create folder
|
|
191
|
-
|
|
190
|
+
# Create folder under rp/generated_slides/
|
|
191
|
+
parent_id = gsu.get_rp_slides_folder(drive_service)
|
|
192
|
+
folder_id = gsu.create_folder(drive_service, folder_name, parent_id)
|
|
192
193
|
folder_url = f"https://drive.google.com/drive/folders/{folder_id}"
|
|
193
|
-
rp.fansi_print(f" Folder: {
|
|
194
|
+
rp.fansi_print(f" Folder: rp/generated_slides/{folder_name}", 'white')
|
|
195
|
+
rp.fansi_print(f" {folder_url}", 'white')
|
|
194
196
|
|
|
195
197
|
# Move parts to folder
|
|
196
198
|
for r in results:
|
|
@@ -327,24 +329,24 @@ def convert_tmux(
|
|
|
327
329
|
HELP = """Parallel PowerPoint converter using tmux.
|
|
328
330
|
|
|
329
331
|
Usage:
|
|
330
|
-
rp run ppt
|
|
332
|
+
rp run ppt convert_tmux <input_pptx> [options]
|
|
331
333
|
|
|
332
334
|
Spawns multiple tmux panes to convert slide ranges in parallel,
|
|
333
335
|
uploads each part, then merges them into one presentation.
|
|
334
336
|
|
|
335
337
|
Options:
|
|
336
|
-
--
|
|
337
|
-
--
|
|
338
|
+
--num_parts Number of parallel workers (default: 3)
|
|
339
|
+
--part_size Target file size per part (default: 100MB)
|
|
338
340
|
--fps Max GIF frames per second (default: 10)
|
|
339
|
-
--
|
|
341
|
+
--dpi_iters Binary search iterations for size (default: 5)
|
|
340
342
|
--dither Enable dithering (default: True)
|
|
341
|
-
--
|
|
343
|
+
--no_dither Disable dithering
|
|
342
344
|
--output Output folder name
|
|
343
345
|
|
|
344
346
|
Examples:
|
|
345
|
-
rp run ppt
|
|
346
|
-
rp run ppt
|
|
347
|
-
rp run ppt
|
|
347
|
+
rp run ppt convert_tmux presentation.pptx
|
|
348
|
+
rp run ppt convert_tmux presentation.pptx --num_parts 5
|
|
349
|
+
rp run ppt convert_tmux presentation.pptx --part_size 50MB --fps 8
|
|
348
350
|
"""
|
|
349
351
|
|
|
350
352
|
|
|
@@ -89,6 +89,22 @@ def get_credentials(token_path: str = None) -> Credentials:
|
|
|
89
89
|
return creds
|
|
90
90
|
|
|
91
91
|
|
|
92
|
+
def get_or_create_folder(service, folder_name: str, parent_id: str = None) -> str:
|
|
93
|
+
"""Get existing folder by name or create it. Returns folder ID."""
|
|
94
|
+
query = f"name='{folder_name}' and mimeType='application/vnd.google-apps.folder' and trashed=false"
|
|
95
|
+
if parent_id:
|
|
96
|
+
query += f" and '{parent_id}' in parents"
|
|
97
|
+
else:
|
|
98
|
+
query += " and 'root' in parents"
|
|
99
|
+
|
|
100
|
+
results = service.files().list(q=query, fields='files(id)').execute()
|
|
101
|
+
files = results.get('files', [])
|
|
102
|
+
if files:
|
|
103
|
+
return files[0]['id']
|
|
104
|
+
|
|
105
|
+
return create_folder(service, folder_name, parent_id)
|
|
106
|
+
|
|
107
|
+
|
|
92
108
|
def create_folder(service, folder_name: str, parent_id: str = None) -> str:
|
|
93
109
|
"""Create a folder on Google Drive. Returns folder ID."""
|
|
94
110
|
metadata = {
|
|
@@ -102,6 +118,12 @@ def create_folder(service, folder_name: str, parent_id: str = None) -> str:
|
|
|
102
118
|
return folder.get('id')
|
|
103
119
|
|
|
104
120
|
|
|
121
|
+
def get_rp_slides_folder(service) -> str:
|
|
122
|
+
"""Get or create the rp/generated_slides folder hierarchy. Returns folder ID."""
|
|
123
|
+
rp_folder = get_or_create_folder(service, 'rp')
|
|
124
|
+
return get_or_create_folder(service, 'generated_slides', rp_folder)
|
|
125
|
+
|
|
126
|
+
|
|
105
127
|
def make_public(service, file_id: str) -> str:
|
|
106
128
|
"""
|
|
107
129
|
Make a file publicly viewable by anyone with the link.
|
|
@@ -332,8 +354,10 @@ def upload_and_merge_pptx(
|
|
|
332
354
|
creds = get_credentials()
|
|
333
355
|
drive_service = build('drive', 'v3', credentials=creds)
|
|
334
356
|
|
|
335
|
-
# Create folder
|
|
336
|
-
|
|
357
|
+
# Create folder under rp/generated_slides/
|
|
358
|
+
if parent_folder_id is None:
|
|
359
|
+
parent_folder_id = get_rp_slides_folder(drive_service)
|
|
360
|
+
rp.fansi_print(f"\nCreating folder: rp/generated_slides/{folder_name}", 'cyan')
|
|
337
361
|
folder_id = create_folder(drive_service, folder_name, parent_folder_id)
|
|
338
362
|
folder_url = f"https://drive.google.com/drive/folders/{folder_id}"
|
|
339
363
|
rp.fansi_print(f" {folder_url}", 'white')
|
|
@@ -397,15 +421,15 @@ Arguments:
|
|
|
397
421
|
folder A folder containing PPTX files
|
|
398
422
|
|
|
399
423
|
Options:
|
|
400
|
-
--
|
|
401
|
-
--
|
|
424
|
+
--folder_name Name for Google Drive folder (default: auto from first filename)
|
|
425
|
+
--merged_name Name for merged presentation (default: same as folder_name)
|
|
402
426
|
|
|
403
427
|
Examples:
|
|
404
428
|
python google_slides_upload.py output_folder/
|
|
405
429
|
python google_slides_upload.py part1.pptx part2.pptx part3.pptx
|
|
406
|
-
python google_slides_upload.py output_folder/ --
|
|
407
|
-
python google_slides_upload.py output_folder/ --
|
|
408
|
-
python google_slides_upload.py *.pptx --
|
|
430
|
+
python google_slides_upload.py output_folder/ --folder_name "My Presentation"
|
|
431
|
+
python google_slides_upload.py output_folder/ --merged_name "Final Presentation"
|
|
432
|
+
python google_slides_upload.py *.pptx --folder_name "Project X" --merged_name "Project X Final"
|
|
409
433
|
|
|
410
434
|
Creates on Google Drive:
|
|
411
435
|
MyDrive/<folder_name>/
|
|
@@ -36,6 +36,7 @@ try:
|
|
|
36
36
|
get_credentials,
|
|
37
37
|
create_folder,
|
|
38
38
|
make_public,
|
|
39
|
+
get_rp_slides_folder,
|
|
39
40
|
)
|
|
40
41
|
except ImportError:
|
|
41
42
|
from google_slides_upload import (
|
|
@@ -45,6 +46,7 @@ except ImportError:
|
|
|
45
46
|
get_credentials,
|
|
46
47
|
create_folder,
|
|
47
48
|
make_public,
|
|
49
|
+
get_rp_slides_folder,
|
|
48
50
|
)
|
|
49
51
|
|
|
50
52
|
|
|
@@ -163,12 +165,6 @@ def normalize_slides_input(layout) -> list[dict]:
|
|
|
163
165
|
result.append(
|
|
164
166
|
{"paths": [content], "title": title, "labels": None}
|
|
165
167
|
)
|
|
166
|
-
elif isinstance(content, list):
|
|
167
|
-
paths = [p for p in content if is_media_path(p)]
|
|
168
|
-
if paths:
|
|
169
|
-
result.append(
|
|
170
|
-
{"paths": paths, "title": title, "labels": None}
|
|
171
|
-
)
|
|
172
168
|
elif isinstance(content, dict):
|
|
173
169
|
# {'label1': 'path1', 'label2': 'path2'}
|
|
174
170
|
labels = []
|
|
@@ -181,6 +177,12 @@ def normalize_slides_input(layout) -> list[dict]:
|
|
|
181
177
|
result.append(
|
|
182
178
|
{"paths": paths, "title": title, "labels": labels}
|
|
183
179
|
)
|
|
180
|
+
elif rp.is_non_str_iterable(content):
|
|
181
|
+
paths = [p for p in content if is_media_path(p)]
|
|
182
|
+
if paths:
|
|
183
|
+
result.append(
|
|
184
|
+
{"paths": paths, "title": title, "labels": None}
|
|
185
|
+
)
|
|
184
186
|
return result
|
|
185
187
|
|
|
186
188
|
# List input
|
|
@@ -196,7 +198,7 @@ def normalize_slides_input(layout) -> list[dict]:
|
|
|
196
198
|
paths.append(path)
|
|
197
199
|
if paths:
|
|
198
200
|
result.append({"paths": paths, "title": None, "labels": labels})
|
|
199
|
-
elif
|
|
201
|
+
elif rp.is_non_str_iterable(item):
|
|
200
202
|
paths = [p for p in item if is_media_path(p)]
|
|
201
203
|
if paths:
|
|
202
204
|
result.append({"paths": paths, "title": None, "labels": None})
|
|
@@ -704,8 +706,9 @@ def media_to_slides(
|
|
|
704
706
|
drive_service = build("drive", "v3", credentials=creds)
|
|
705
707
|
slides_service = build("slides", "v1", credentials=creds)
|
|
706
708
|
|
|
707
|
-
rp.fansi_print(f"\nCreating folder: {folder_name}", "cyan")
|
|
708
|
-
|
|
709
|
+
rp.fansi_print(f"\nCreating folder: rp/generated_slides/{folder_name}", "cyan")
|
|
710
|
+
parent_id = get_rp_slides_folder(drive_service)
|
|
711
|
+
folder_id = create_folder(drive_service, folder_name, parent_id)
|
|
709
712
|
folder_url = FOLDER_URL.format(folder_id)
|
|
710
713
|
rp.fansi_print(f" {folder_url}", "white")
|
|
711
714
|
|
|
@@ -822,6 +825,7 @@ def cli(
|
|
|
822
825
|
title_size: int = DEFAULT_TITLE_SIZE,
|
|
823
826
|
label_size: int = DEFAULT_LABEL_SIZE,
|
|
824
827
|
sort_by: str = "name",
|
|
828
|
+
per_slide: int = None,
|
|
825
829
|
):
|
|
826
830
|
"""Upload media to Google Drive and create a Google Slides presentation.
|
|
827
831
|
|
|
@@ -830,16 +834,17 @@ def cli(
|
|
|
830
834
|
|
|
831
835
|
Options:
|
|
832
836
|
--name NAME Presentation name (default: auto-generated timestamp)
|
|
833
|
-
--
|
|
837
|
+
--folder_name NAME Google Drive folder name (default: auto-generated timestamp)
|
|
834
838
|
--title TITLE Slide title (applies to all slides)
|
|
835
839
|
--captions Use filenames as captions for each media item
|
|
836
|
-
--
|
|
837
|
-
--
|
|
838
|
-
--
|
|
840
|
+
--label_position POS Label position: 'top' (default) or 'bottom'
|
|
841
|
+
--bg_color COLOR Background color: name ('black'), hex ('#FFAABB'), default: white
|
|
842
|
+
--font_color COLOR Text color: name ('white'), hex ('#FFAABB'), default: black
|
|
839
843
|
--font FONT Font family (default: Lexend)
|
|
840
|
-
--
|
|
841
|
-
--
|
|
842
|
-
--
|
|
844
|
+
--title_size SIZE Title font size in pt (default: 24)
|
|
845
|
+
--label_size SIZE Label font size in pt (default: 12)
|
|
846
|
+
--sort_by METHOD Sort files by: 'name' (default), 'date', 'size', 'number'
|
|
847
|
+
--per_slide N Items per slide (optional, default: 1)
|
|
843
848
|
|
|
844
849
|
Supported formats:
|
|
845
850
|
Videos: .mp4, .mov, .avi, .mkv, .webm
|
|
@@ -849,8 +854,8 @@ def cli(
|
|
|
849
854
|
rp run ppt media_to_slides video1.mp4 image.png # 2 files -> 2 slides
|
|
850
855
|
rp run ppt media_to_slides media_folder/ # folder -> one slide per file
|
|
851
856
|
rp run ppt media_to_slides "*.png" --name "My Images" --captions # glob with captions
|
|
852
|
-
rp run ppt media_to_slides folder/ --title "Demo" --
|
|
853
|
-
rp run ppt media_to_slides frames/ --
|
|
857
|
+
rp run ppt media_to_slides folder/ --title "Demo" --bg_color black --font_color white # dark theme
|
|
858
|
+
rp run ppt media_to_slides frames/ --sort_by number --captions --label_position bottom
|
|
854
859
|
|
|
855
860
|
Note: First run opens browser for Google OAuth authentication.
|
|
856
861
|
"""
|
|
@@ -865,13 +870,21 @@ def cli(
|
|
|
865
870
|
if not media_paths:
|
|
866
871
|
raise ValueError("No media files found")
|
|
867
872
|
|
|
873
|
+
# Split into grids if requested
|
|
874
|
+
if per_slide is not None:
|
|
875
|
+
media_paths = rp.split_into_sublists(media_paths, per_slide)
|
|
876
|
+
|
|
868
877
|
# Build layout
|
|
869
878
|
if captions:
|
|
870
|
-
|
|
871
|
-
|
|
879
|
+
# Each item gets its filename as a label, one per slide (or per grid if per_slide used)
|
|
880
|
+
layout = [
|
|
881
|
+
{rp.get_file_name(p, include_file_extension=False): p}
|
|
882
|
+
if isinstance(p, str) else
|
|
883
|
+
{rp.get_file_name(x, include_file_extension=False): x for x in p}
|
|
872
884
|
for p in media_paths
|
|
873
|
-
|
|
874
|
-
|
|
885
|
+
]
|
|
886
|
+
if title:
|
|
887
|
+
layout = {title: layout[0]} if len(layout) == 1 else layout
|
|
875
888
|
elif title:
|
|
876
889
|
layout = {title: media_paths}
|
|
877
890
|
else:
|
|
@@ -17273,6 +17273,9 @@ def is_iterable(x):
|
|
|
17273
17273
|
except:
|
|
17274
17274
|
return False
|
|
17275
17275
|
|
|
17276
|
+
def is_non_str_iterable(x):
|
|
17277
|
+
return not isinstance(x,str) and is_iterable(x)
|
|
17278
|
+
|
|
17276
17279
|
# region Network Utilities: [get_my_local_ip_address,get_my_ip,get_my_mac_address,get_my_public_ip_address]
|
|
17277
17280
|
def get_my_local_ip_address() -> str:
|
|
17278
17281
|
import socket
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1385
|
rp-0.1.1385/version.py
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1385
|
rp-0.1.1383/rp/version.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1383
|
rp-0.1.1383/version.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1383
|
|
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
|
|
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
|