Skip to main content

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

Using uv, add the project:

uv add smugmug-downloader

Usage

# Download all files from a user's account
uv run smugmug-downloader feldroy <username>

# Specify a custom output directory
uv run smugmug-downloader feldroy <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

Release files for smugmug-downloader 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for smugmug-downloader 0.3.1
File Size Uploaded
smugmug_downloader-0.3.1.tar.gz 6.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for smugmug-downloader 0.3.1
File Interpreter ABI Platform
smugmug_downloader-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 14.4 kB

Release files / smugmug_downloader-0.3.1.tar.gz

Download URL smugmug_downloader-0.3.1.tar.gz
Size 6.8 kB
Tags Source
SHA-256 checksum
How to use checksums
ff2c99d0eb7b136fe06da911792ef5c09a3cbacbc43ccbe89c32cf061eb4f05d
BLAKE2b-256 checksum
How to use checksums
f89cb46472c80e2e164cbb99e166c0b504264de7cb5d33f3f258c3e35dcdc57d
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / smugmug_downloader-0.3.1-py3-none-any.whl

Download URL smugmug_downloader-0.3.1-py3-none-any.whl
Size 7.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9e5e55672b73a991f0a91fa0968d0f1c920e8b522a7542ec65aad87aaca62dd1
BLAKE2b-256 checksum
How to use checksums
6bf02098ca8187f2a66ef0bff6f693e81ab364bf652e374f6bcbce6f2b00104a
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page