Metadata-Version: 2.1
Name: rkale
Version: 0.2.2
Summary: Rclone wrapper to manage multiple datasets in a project
Home-page: https://github.com/Aiwizo/rkale
License: MIT
Author: Joar Gruneau
Author-email: joar@aiwizo.com
Requires-Python: >=3.7,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: toml (>=0.10.2,<0.11.0)
Requires-Dist: tqdm (>=4.60.0,<5.0.0)
Project-URL: Repository, https://github.com/Aiwizo/rkale
Description-Content-Type: text/markdown

# Rkale

## Install
#### Install Rkale:  
```bash
pip install rkale
```

## Configuration

### Global

`~/.config/rkale/rkale.conf`:
```toml
[data]
root = "path to root data folder"

[aliases]
wasabi="value to match remote in rclone.conf"
```
root = root folder.  
If alases are empty the remote name from the project config is used in the rclone lookup.

### Project
Add the rkale tool definition in the pyproject.toml file:  

`<project path>/pyproject.toml`:
```toml
  [[tool.rkale.dataset]]
  name = "dataset_1"
  remote = "remote_1"
  
  [[tool.rkale.dataset]]
  name = "dataset_2"
  remote = "remote_2"
  ```
The remote specified for the dataset must match a remote in the `rclone.conf` or an alias in the global rkale configuration.

### Project example
```
$ rkale psync
```
Syncs the datasets specified in the `<project path>/pyproject.toml` to be identical with their remotes.  
```
$ rkale psync --upstream
```
Syncs the remote datasets specified in the `<project path>/pyproject.toml` to be identical with their locals.  

### Global example
```rkale sync <source> <destination>```
Same as rclone but first checks the result of the operation requires user consent before executing.  

