Skip to content

brege/tinybeans-sync

Repository files navigation

tinybeans-sync

Downloads original quality images from Tinybeans photo journals.

Quickstart

From PyPI:

pip install tinybeans-sync

Or from source:

git clone https://github.com/brege/tinybeans-sync.git
cd tinybeans-sync
pip install .

Test it out:

tinybeans-sync --help

After copying config.yaml.example to ~/.config/tinybeans-sync/config.yaml, fill in your

  • email
  • password
  • tinybeans_id (you can get this from journal URLs)

You should also configure the download path for all of photos.

download:
  output_dir: downloads  # relative to this project dir, or absolute path

Automated syncing with systemd

To run tinybeans-sync automatically every 12 hours, use the provided systemd timer:

bash <(curl https://raw.githubusercontent.com/brege/tinybeans-sync/refs/heads/main/systemd/install.sh)

This will

  • Download and install the systemd service and timer files
  • Replace placeholders with your username and group
  • Enable the timer to check every 12 hours, relative to boot time

This install script can be found in GitHub.

Timer status:

systemctl status tinybeans-sync.timer
systemctl list-timers
journalctl -u tinybeans-sync.service

Usage

Options:

tinybeans-sync --help

Download images from last successful run date onwards:

tinybeans-sync --from-last-date

Download a date range:

tinybeans-sync --after 2025-06-01 --before 2025-08-31

Catch up from a specific day through today:

tinybeans-sync --after 2025-10-27

Force re-download (ignores history file):

tinybeans-sync --after 2025-06-01 --force

History

Downloaded files are tracked in ~/.config/tinybeans-sync/tinybeans_history.json (or your --data directory) to avoid re-downloading deleted images.

Delete that history file to start fresh, or rerun with --after <date> to start from a specific date. Use --force to restore image files from a date range or over a date range via --before and --after.

Roadmap

  • support video downloads

License

GPLv3