Skip to main content

A package that provides a wrapper for RClone

Project description

PyRCLONE

A Python wrapper for rclone.

No need to install rclone separately as it is already included in this package. The binary file for version v1.62.2 is available for different operating systems including Windows, Mac, and Linux, as well as arch with amd64 and x86_64.

Install

pip install pyrclonetest

Usage

from pyrclone.rclone_wrapper import RCloneWrapper


config = {
    "remote_name": {
        'type': 'google cloud storage',
        'project_number': "project_number",
        'service_account_file': "path/to/service_account_file.json",
        'object_acl': 'private',
        'bucket_acl': 'private',
        'location': 'us',
        'storage_class': 'STANDARD'
    }
}
rclone = RCloneWrapper(config)
result = rclone.listremotes()
print(result.get('out'))
# b'remote_name:\n'
print(result.get('code'))
# 0
print(result.get('error'))
# b''

Implemented commands:

  • copy Copy files from source to dest, skipping already copied
  • sync Make source and dest identical, modifying destination only.
  • listremotes List all the remotes in the config file.
  • ls List the objects in the path with size and path.
  • lsjson List directories and objects in the path in JSON format.
  • delete Remove the contents of path.

Even if not all rclone commands have been exposed, it's possible to invoke any command using run_cmd method directly, as shown in the example bellow:

from pyrclone.rclone_wrapper import RCloneWrapper

config = {
    "local": {
        'type': 'local',
        'nounc': True,
    }
}
result = RCloneWrapper(config).run_cmd(command="lsd", extra_args=["local:/tmp", "-v", "--dry-run"])

Logging and Debugging

To see more info about which commands are executed, or what other messages they print, you can enable logging as the example bellow shows:

import logging
logging.basicConfig(
    level=logging.DEBUG,
    format="%(asctime)s %(name)s [%(levelname)s]: %(message)s")

from pyrclone.rclone_wrapper import RCloneWrapper

config = {
    "local": {
        'type': 'local',
        'nounc': True,
    }
}
rclone = RCloneWrapper(config)
result = rclone.listremotes()

Limitation

Only support windows, mac and, linux operating system and arch with amd64 and x86_64.

windwos: amd64

linux: amd64, x86_64

darwin(mac): amd64, x86_64

Developer guide

$ pip install wheel twine pytest
$ make test

Reference

https://github.com/ddragosd/python-rclone (base on this project and improve it)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

pyrclonetest-0.0.7-py3-none-win_amd64.whl (16.3 MB view details)

Uploaded Python 3 Windows x86-64

pyrclonetest-0.0.7-py3-none-manylinux1_x86_64.whl (16.5 MB view details)

Uploaded Python 3

pyrclonetest-0.0.7-py3-none-macosx_10_9_x86_64.whl (19.7 MB view details)

Uploaded Python 3 macOS 10.9+ x86-64

File details

Details for the file pyrclonetest-0.0.7-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for pyrclonetest-0.0.7-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 fe657c0aa821b554383eb2074a2b875a5c681beb983485baee5478d043a47459
MD5 c83dc718fa70aa9819da1db42b218c30
BLAKE2b-256 0bf31a3d617c983ee182c2037f5d94aaaa1b26698891051b0a2c711120fc6b59

See more details on using hashes here.

File details

Details for the file pyrclonetest-0.0.7-py3-none-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pyrclonetest-0.0.7-py3-none-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 72ed75032bd872dec62f9a67e5dafd0d2900b523494412fb12b949c86613e55c
MD5 f5b012416d87dd249b6973fcdb476a49
BLAKE2b-256 bd4d1d0e87216f94b514c759e9aec84892f6aa42397fa0f79ccf0b45b6736d4f

See more details on using hashes here.

File details

Details for the file pyrclonetest-0.0.7-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyrclonetest-0.0.7-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c0553d40c966c0fe0812a7895bbe7ef8c244b355ea74eba47d16e65c97520c37
MD5 e3bdf6b24e56cf7f2424826fd5adf5ef
BLAKE2b-256 f3c5aff3ffbe6e4d8f5a94f91c739109ebce64826a651680f69d8ef45bf41abb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page