diff --git a/Third-Party-Integrations-with-rclone.md b/Third-Party-Integrations-with-rclone.md index 4540812..d040c43 100644 --- a/Third-Party-Integrations-with-rclone.md +++ b/Third-Party-Integrations-with-rclone.md @@ -25,6 +25,7 @@ This page documents projects which use rclone for some purpose. If you have a pr - [restic](#restic) - [Motuz](#motuz) - [rclone-rc-web-gui](#rclone-rc-web-gui) +- [PyClone](#pyclone) ## HashBackup @@ -187,4 +188,37 @@ rclone is featured as a [restic backend](https://restic.readthedocs.io/en/stable https://github.com/retifrav/rclone-rc-web-gui -A web-based GUI for [rclone rc](https://rclone.org/rc/). Minimalistic design based on a two-panel file-manager layout. Supports copy/move/delete operations and creating new folders. Has a basic queue functionality. \ No newline at end of file +A web-based GUI for [rclone rc](https://rclone.org/rc/). Minimalistic design based on a two-panel file-manager layout. Supports copy/move/delete operations and creating new folders. Has a basic queue functionality. + +## PyClone + +PyClone is a Python package that wraps rclone and provides a threaded interface for an installation at the host or container level. + +You can install this in your projects with, `pip install PyClone` + +* [Package](https://pypi.org/project/pyclone/) +* [Documentation](https://ltgiv.gitlab.io/pyclone/) +* [Source](https://gitlab.com/ltgiv/pyclone) +* [Tracker](https://gitlab.com/ltgiv/pyclone/issues) + +An example for processing output from rclone that's stored as a dictionary: + +```python +#!/usr/bin/env python + +import pyclone +import time + +rclone = pyclone.PyClone() + +rclone.sync( source='/mnt/familyPhotos', remote='googleDrive', path='/backups/familyPhotos' ) + +while rclone.tailing(): + + if rclone.readline(): + print( rclone.line ) + + time.sleep( 0.5 ) + +rclone.stop() +```