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.2.0.tar.gz (6.8 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.2.0-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: smugmug_downloader-0.2.0.tar.gz
  • Upload date:
  • Size: 6.8 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.2.0.tar.gz
Algorithm Hash digest
SHA256 989efc4e395aad95f90d59780e847e6afd53f6a96b13573a6e297f9f7d87eb7e
MD5 5ced1fcf401a1e315ee82cce756bc641
BLAKE2b-256 17db8bb077fe5cd5a3a3837b99ef7d41f834fbb16454f537ed2608ba506aae46

See more details on using hashes here.

File details

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

File metadata

  • Download URL: smugmug_downloader-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 7.7 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9d55ca0289e92b16b0d72873dcee68bc0de15f910212c342f4052f6b0ffe75ea
MD5 7e57e76d2138b8f627cffe0c134ca017
BLAKE2b-256 cc593839acc4b59f21b8a14439ab20e98e65a80f267b1349698c0dda5835e0a5

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