Lightweight Google Drive file upload and version control CLI tool
Project description
GDVC Mini
Simple version control using Google Drive folders. Simplifes the process of quick iteration and dev sharing within drive.
A simplified midway between dvc/rclone.
Alternatives:
Rclone/DVC:
- Rclone/dvc require permissions for downloading and initial setup. This makes others testing a repo harder
- DVC also uses a custom file format and doesn't allow for quick downloading for testing
Git LFS:
- Limited file storage and no support for custom backends
Note: This is not intended for full model checkpoints, as each version currently duplicates the entire folder.
Install
pip install gdvc
dev Version:
pip install -e .
push to drive setup:
gcloud auth application-default login --scopes=https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/drive
init your drive folder:
gdvc init https://drive.google.com/drive/folders/YOUR_FOLDER_ID
Usage
Track directories:
gdvc track add models
gdvc track add data
gdvc track list
Upload a version (to your configured private Google Drive folder):
gdvc upload v1
Download version:
gdvc download v1
gdvc download latest
Change to different Drive folder:
gdvc change_folder_root https://drive.google.com/drive/folders/NEW_FOLDER_ID
Commands
init <folder_url>- Initialize projecttrack add/remove/list- Manage tracked directoriesupload <version>- Upload tracked directories as versiondownload <version>- Download version to current directorychange_folder_root <url>- Switch to new Drive folder, keep current version onlypublish <version>- Make version publicupdate- Download latest version
File Structure
Uploads create: version_name/directory_name/files
Downloads merge into current directory preserving structure.
Configuration
Project settings are stored in .gdvc_config.json which can be safely committed to git.
Contains Drive folder URLs, version history, and tracked directories.
Sample config structure:
{
"drive_folder_url": "https://drive.google.com/drive/folders/<sample_folder>",
"versions": {
"v1.0": {
"url": "https://drive.google.com/drive/folders/<sample_folder>",
"local_path": ".",
"is_public": false
},
},
"public_version": "v0",
"current_version": "v1.0",
"tracked_directories": ["models", "data"]
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gdvc-0.0.1.tar.gz.
File metadata
- Download URL: gdvc-0.0.1.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
980d92191ba380035bf1fed2422994c11758cecf0e6dacbb3a96ddc74609004f
|
|
| MD5 |
05a7540bd64474afe329d674ad876b77
|
|
| BLAKE2b-256 |
0bc3c10772c3d40b2c1fa5b80a17b8981598e1c74d37dffd89274e09a88eb5ac
|
File details
Details for the file gdvc-0.0.1-py3-none-any.whl.
File metadata
- Download URL: gdvc-0.0.1-py3-none-any.whl
- Upload date:
- Size: 10.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3e6ff309e01f741d39e12dc240551ed2279bb4a4efd11a6dee74e2f342f73f8
|
|
| MD5 |
ea0b45f00ae9676eda1ae6699644ee37
|
|
| BLAKE2b-256 |
cd55aebd7db8bfebb1297473e93910cbcb3527bbff4d3a083205a5fb49988ba6
|