Skip to main content

Little utility to rsync local zappy files to cloud storage

Project description

zappy-sync

Zappy is a neat little utility for quick capturing screenshots, GIFs, and videos.

Files are stored locally. If you have a Zapier Premium account, they are also hosted in Zapier.

zappy-sync is a little utility to sync your local files to your own cloud storage. This currently only supports Google Cloud Storage, but can be extended.

Installation

pipx install zappy-sync

Configuration

GCP

GCP configuration is quite intense and not for the faint hearted. You need to do the following:

  1. Setup a service account. Go to IAM -> Service Accounts, set it up.
  2. Setup a bucket where you want your files shared. Go to Storage -> Browser, create a bucket.
  3. Change the defacl on this bucket to be public by default. You can do this via the gsutil CLI. gsutil defacl set public-read gs://your-bucket-name
  4. Create a JSON key for your service account. Go to IAM -> Service Accounts, click on your service account, click on "Add Key", select JSON. Download this key and save it somewhere safe. Recommend ~/.zappy/gcp.json.

Settings

You can run the whole thing with command line options but having a settings file will make things easier. Store the settings file in ~/.zappy/settings.toml. Here's my settings file:

directory = "~/Pictures/Zappy/"

[storage]
provider = "gcp"  # for now, only gcp is supported

[gcp]
project = "my-project-name"
bucket = "zappy"
credentials = "~/.zappy/gcpkey.json"

Usage

Pretty straight forward. Run zappy-sync and it will watch the directory you specified in the settings file. Any new files will be uploaded to your cloud storage. Deletions are not synced.

Usage: zappy-sync [OPTIONS]

Options:
  --directory TEXT    Directory to watch.
  --bucket TEXT       GCP Storage Bucket.
  --project TEXT      GCP Project ID.
  --upload-missing    Upload missing files.
  --credentials TEXT  GCP Service account credentials.
  --provider TEXT     Storage provider. Only gcp for now.
  -n, --dry-run       Dry run.
  --help              Show this message and exit.

Project details


Download files

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

Source Distribution

zappy_sync-0.6.0.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

zappy_sync-0.6.0-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file zappy_sync-0.6.0.tar.gz.

File metadata

  • Download URL: zappy_sync-0.6.0.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.6 Linux/6.2.0-1014-azure

File hashes

Hashes for zappy_sync-0.6.0.tar.gz
Algorithm Hash digest
SHA256 6e34aaf91ed4f92f03dd43d483f5979cde9741b257efb261953079653cbcd004
MD5 2b02b14102250c201aad3c1288092803
BLAKE2b-256 fe7eb8f66c49b231ec99b4246c45b25364d9a0f418e19135f44f5895eb50ac16

See more details on using hashes here.

File details

Details for the file zappy_sync-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: zappy_sync-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.6 Linux/6.2.0-1014-azure

File hashes

Hashes for zappy_sync-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5a3b5917d5102c0143f8209bca3bdc1e1167302100d580ceb62b845d4fc16e58
MD5 7c7444d58b38f0b1d95f4a5ee5424d6e
BLAKE2b-256 d26d255a46306413924980d052b16f8bc071113d60c6b5f31334b9c5af7b6abb

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