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.1.0.tar.gz (6.6 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.1.0-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: smugmug_downloader-0.1.0.tar.gz
  • Upload date:
  • Size: 6.6 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.1.0.tar.gz
Algorithm Hash digest
SHA256 cce3ea76be8998ceff406f099279f7add3e5bfd8cd315bfb5bb9dc537ed44a2a
MD5 360decb1b00d9749fba052be3f6e47c1
BLAKE2b-256 4b326d41177d08c46f396660cf90ae00e2cacb58badbc02d5ec0a35baa2cbce2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: smugmug_downloader-0.1.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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 310f3e8e0d3b96afd3fec372475ce7b71d120a880e883e02415da2937e21b0c0
MD5 cc36d5d98f55a99f361c46ef747cc0dc
BLAKE2b-256 7286b7ee0f15cbc4605fb111030b4104b4bfbf24ebc48f59e261170c49a72758

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