A macOS CLI tool that exports original photos and videos from the macOS Photos library using PhotoKit.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Upgrade to Swift 6.1 with strict concurrency

+6 -6
+1 -1
Package.swift
··· 1 - // swift-tools-version: 5.9 1 + // swift-tools-version: 6.1 2 2 import PackageDescription 3 3 4 4 let package = Package(
+4 -4
Sources/LadderKit/Models.swift
··· 1 1 import Foundation 2 2 3 3 /// Input: a request to export specific assets by UUID. 4 - public struct ExportRequest: Codable { 4 + public struct ExportRequest: Codable, Sendable { 5 5 public let uuids: [String] 6 6 public let stagingDir: String 7 7 ··· 12 12 } 13 13 14 14 /// Output: result for a single exported asset. 15 - public struct ExportResult: Codable { 15 + public struct ExportResult: Codable, Sendable { 16 16 public let uuid: String 17 17 public let path: String 18 18 public let size: Int64 ··· 27 27 } 28 28 29 29 /// Output: the full response written to stdout. 30 - public struct ExportResponse: Codable { 30 + public struct ExportResponse: Codable, Sendable { 31 31 public let results: [ExportResult] 32 32 public let errors: [ExportError] 33 33 ··· 37 37 } 38 38 } 39 39 40 - public struct ExportError: Codable { 40 + public struct ExportError: Codable, Sendable { 41 41 public let uuid: String 42 42 public let message: String 43 43
+1 -1
Sources/LadderKit/PhotoExporter.swift
··· 99 99 } 100 100 101 101 /// Internal type for passing errors through TaskGroup. 102 - struct ExportErrorPair: Error { 102 + struct ExportErrorPair: Error, Sendable { 103 103 let uuid: String 104 104 let message: String 105 105 }