Skip to main content

Using smugmug API v2 downloads all the files stored by smugmug for a user account.

Project description

SmugMug Downloader

A command-line tool to download all photos from a SmugMug account.

Features

  • Downloads all images at their highest available quality
  • Preserves folder and album structure locally
  • Skips already-downloaded files
  • OAuth 1.0a authentication with token caching

Prerequisites

  1. Python 3.14+ and uv package manager
  2. SmugMug API credentials - Create an API key at https://api.smugmug.com/api/developer/apply

Set your credentials as environment variables:

export SMUGMUG_API_KEY="your-api-key"
export SMUGMUG_API_SECRET="your-api-secret"

Installation

uv sync

Usage

# Download all files from a user's account
uv run python main.py <username>

# Specify a custom output directory
uv run python main.py <username> --output /path/to/downloads

The default output directory is downloads/.

Authentication

On first run, the tool will:

  1. Display an authorization URL
  2. Prompt you to visit the URL and authorize access
  3. Ask for the 6-digit PIN from SmugMug

Tokens are cached in ~/.smugmug_tokens for subsequent runs.

License

MIT

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

smugmug_downloader-0.3.0.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smugmug_downloader-0.3.0-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file smugmug_downloader-0.3.0.tar.gz.

File metadata

  • Download URL: smugmug_downloader-0.3.0.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for smugmug_downloader-0.3.0.tar.gz
Algorithm Hash digest
SHA256 792421014d07b74911c380e28e65924e32ac4d0748162ee8b08bf1c4f32e38df
MD5 a972068063e5a773be21782d4efba9ef
BLAKE2b-256 d0288ddf51e00d49a47e9f418aee047de57da02f70ceaf5c3b12f22f12cbda7f

See more details on using hashes here.

File details

Details for the file smugmug_downloader-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: smugmug_downloader-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for smugmug_downloader-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bffe884de0c74558589597d5f5326617de4a64786b1aa8050f58548f564c5bf0
MD5 7b6ba0278b5208707263ac6210a266aa
BLAKE2b-256 870f9138b9f389bfcd174a6b14aa1b3d8f2848664235af18112117f0efdde291

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page