Import photos and videos from your iPhone to your computer via USB.
Project description
import-iphone-media
Command-line tool for direct USB import of photos and videos from iPhone. Preserves original timestamps, skips duplicates, and uses a database for tracking. No iCloud, iTunes sync, or deletion.
This project is not affiliated with or endorsed by Apple Inc. ‘iPhone’ is a trademark of Apple Inc.
Quick Start
-
Connect iPhone via USB.
(On Windows: iTunes or the Apple Devices app must be installed and running.) -
Unlock iPhone and confirm "Trust" if prompted.
-
Install:
# Using uv (recommended) uv tool install import-iphone-media # Using pip pip install import-iphone-media
-
Import media:
import-iphone-media ~/Pictures
Features
- USB transfer; no iCloud/internet needed.
- Preserves file timestamps.
- Skips files already imported (uses DB).
- Filenames:
YYYY-MM-DD_HH-MM-SS_ORIGINALNAME.JPG - Cross-platform: Windows, macOS, Linux.
- Read-only: does not delete or modify on iPhone.
Installation
Requirements
- Python 3.9+
- iPhone & USB cable
- Windows: iTunes/Apple Devices app running (for drivers)
Install
# Using uv (recommended)
uv tool install import-iphone-media
# Or pip
pip install import-iphone-media
Usage
Run import-iphone-media with the destination folder.
import-iphone-media ~/Pictures/iPhoneBackup
Options (see -h):
usage: import-iphone-media [-h] [--dcim-path DCIM_PATH] [--db-path DB_PATH]
[--include-extensions EXT1,EXT2,...] [--verbose]
output
output Destination directory
Options:
-h, --help Show help
--dcim-path DCIM_PATH iPhone directory to scan (default: /DCIM)
--db-path DB_PATH Path to database (default: media.db in output)
--include-extensions EXT1,EXT2,...
Comma-separated file extensions (default: jpg,jpeg,png,mov,mp4,heic)
--verbose Verbose output
How It Stores Files
- Files are saved in the specified directory with filenames:
YYYY-MM-DD_HH-MM-SS_ORIGINALNAME.JPG media.dbtracks imported files and avoids duplicates.- No files are deleted or modified on the iPhone.
Troubleshooting
- No device found: iPhone must be unlocked and trusted.
- Windows: Ensure Apple software is running for drivers.
- Reconnect: Try unplug/replug or different USB port.
- Restart: Restart iPhone or computer if persistent issues.
- Linux: If permission errors, use
sudoor set udev rules.
Development
-
Clone:
git clone https://github.com/artificiadrian/import-iphone-media.git
-
Install deps:
cd import-iphone-media uv sync
Acknowledgements
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file import_iphone_media-0.1.1.tar.gz.
File metadata
- Download URL: import_iphone_media-0.1.1.tar.gz
- Upload date:
- Size: 286.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4cd86c1e74c6e37f35696c3482712df5464aab3c7c68c726a199a69f753b9ca3
|
|
| MD5 |
38af71eff6203177c601fdaaf7e60630
|
|
| BLAKE2b-256 |
9b361c9c26139e777bfa93bd095de67b4a3eaf6b5f85d3f0f11578ea18ec78c0
|
File details
Details for the file import_iphone_media-0.1.1-py3-none-any.whl.
File metadata
- Download URL: import_iphone_media-0.1.1-py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e833371c17b25e4e2b4a5dc3534ca91afbf5eb49f1b25cb2e875f7e29555b42
|
|
| MD5 |
9a300fdf43dfb1315dc97cfc601872b8
|
|
| BLAKE2b-256 |
df7cc8a03dc5c21da862bfff93ac1f2c3212364dbdc6d666500ae65dcd4029da
|