{"library":"rclone-python","title":"rclone-python","description":"rclone-python is a Python wrapper for the powerful rclone command-line tool, enabling programmatic interaction with various cloud storage providers. It provides a Pythonic interface for operations like copying, moving, syncing, listing, and managing files and remotes. The library is actively maintained, currently at version 0.1.24, and receives regular updates, often with minor bug fixes and feature enhancements.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install rclone-python"],"cli":null},"imports":["from rclone_python import rclone","from rclone_python.remote_types import RemoteTypes"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"from rclone_python import rclone\nfrom rclone_python.remote_types import RemoteTypes\nimport os\n\n# Ensure rclone binary is installed and in PATH\nif not rclone.is_installed():\n    print(\"rclone CLI tool is not installed or not found in PATH.\")\n    print(\"Please install rclone: https://rclone.org/install/\")\n    exit(1)\n\nprint(f\"rclone is installed: {rclone.is_installed()}\")\nprint(f\"rclone version: {rclone.version()['rclone_version']}\")\n\n# Example: Create a dummy local remote for demonstration\n# In a real scenario, you'd configure a cloud remote.\n# This assumes a 'local' type remote, no sensitive data.\n# For actual cloud remotes, you would provide client_id, client_secret, etc.\n# You might also use rclone.with_config(config_string) for in-memory config.\n\n# Ensure a 'test_data' directory exists locally for the example\nos.makedirs('./test_data', exist_ok=True)\nwith open('./test_data/hello.txt', 'w') as f:\n    f.write('Hello, rclone-python!')\n\n# A simple rclone copy operation\n# Source: a local path, Destination: a local path (acting as a remote)\ntry:\n    # This 'local_test' remote is created dynamically for the example.\n    # For persistent remotes, use 'rclone config' or rclone.create_remote() once.\n    # For this example, we'll use a direct path as 'remote'.\n    # The rclone_python library primarily interfaces with the configured rclone remotes.\n    # To simulate copying to a 'remote' which is just another local folder:\n    # Create a destination folder that acts as our 'remote target'\n    dest_path = './rclone_dest'\n    os.makedirs(dest_path, exist_ok=True)\n    print(f\"\\nCopying './test_data/hello.txt' to '{dest_path}'...\")\n    rclone.copy('./test_data', dest_path)\n    print(\"Copy complete.\")\n\n    # List contents of the destination\n    print(f\"\\nContents of '{dest_path}':\")\n    for item in rclone.ls(dest_path):\n        print(f\"- {item['Path']} (size: {item['Size']} bytes)\")\n\nexcept rclone.RcloneException as e:\n    print(f\"Rclone command failed: {e}\")\nexcept Exception as e:\n    print(f\"An unexpected error occurred: {e}\")","lang":"python","description":"This quickstart demonstrates how to import and use the `rclone_python` library. It includes checking for the rclone binary, performing a simple file copy operation, and listing the contents of a directory. It also shows basic error handling for `RcloneException`.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"0.1.24","pypi_latest":"0.1.24","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":2.8,"avg_import_s":0.19,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"rclone-python","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.15,"mem_mb":5.4,"disk_size":"30.1M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"rclone-python","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.8,"import_time_s":0.1,"mem_mb":5.4,"disk_size":"31M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"rclone-python","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.27,"mem_mb":6.4,"disk_size":"33.1M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"rclone-python","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.8,"import_time_s":0.23,"mem_mb":6.4,"disk_size":"34M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"rclone-python","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.21,"mem_mb":6.1,"disk_size":"24.8M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"rclone-python","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.5,"import_time_s":0.22,"mem_mb":6.1,"disk_size":"25M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"rclone-python","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.2,"mem_mb":6.3,"disk_size":"24.6M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"rclone-python","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.7,"import_time_s":0.21,"mem_mb":6.3,"disk_size":"25M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"rclone-python","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.14,"mem_mb":5.3,"disk_size":"29.3M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"rclone-python","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.1,"import_time_s":0.13,"mem_mb":5.3,"disk_size":"30M"}]}}