Platform details¶
platformdirs auto-detects the current platform and returns the correct directory paths. This page describes the
default paths for each platform and any platform-specific behavior.
All examples below assume appname="SuperApp" and appauthor="Acme" unless stated otherwise. On iOS, ~ is the
app’s data container.
User directories¶
These are user-specific (and, generally, user-writeable) directories.
user_data_dir¶
See also: User data directory
~/.local/share/SuperApp
~/Library/Application Support/SuperApp
C:\Users\<User>\AppData\Local\Acme\SuperApp
/data/data/<pkg>/files/SuperApp
~/Library/Application Support/SuperApp
user_config_dir¶
See also: User config directory
~/.config/SuperApp
~/Library/Application Support/SuperApp
C:\Users\<User>\AppData\Local\Acme\SuperApp
/data/data/<pkg>/shared_prefs/SuperApp
~/Library/Application Support/SuperApp
user_cache_dir¶
See also: User cache directory
~/.cache/SuperApp
~/Library/Caches/SuperApp
C:\Users\<User>\AppData\Local\Acme\SuperApp\Cache
/data/data/<pkg>/cache/SuperApp
~/Library/Caches/SuperApp
user_state_dir¶
See also: User state directory
~/.local/state/SuperApp
~/Library/Application Support/SuperApp
C:\Users\<User>\AppData\Local\Acme\SuperApp
/data/data/<pkg>/files/SuperApp
~/Library/Application Support/SuperApp
user_log_dir¶
See also: User log directory
~/.local/state/SuperApp/log
~/Library/Logs/SuperApp
C:\Users\<User>\AppData\Local\Acme\SuperApp\Logs
/data/data/<pkg>/cache/SuperApp/log
~/Library/Logs/SuperApp
user_runtime_dir¶
See also: User runtime directory
/run/user/<uid>/SuperApp
~/Library/Caches/TemporaryItems/SuperApp
C:\Users\<User>\AppData\Local\Temp\Acme\SuperApp
/data/data/<pkg>/cache/SuperApp/tmp
~/tmp/SuperApp
user_applications_dir¶
See also: User applications directory
~/.local/share/applications
~/Applications
C:\Users\<User>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
Same as user_data_dir
~/Applications
Note
This property does not append appname or version. It returns the shared applications directory where
.desktop files (Linux), app bundles (macOS), or Start Menu shortcuts (Windows) are placed.
user_bin_dir¶
See also: User binary directory
~/.local/bin
~/.local/bin
C:\Users\<User>\AppData\Local\Programs
/data/data/<pkg>/files/bin
~/.local/bin
Note
This property does not append appname or version. It returns the directory where user-installed executables
and scripts are placed.
user_documents_dir¶
See also: User documents directory
On Unix, use percent signs as literal characters in user-dirs.dirs paths, for example $HOME/100% complete. Lines
follow xdg-user-dir rules: the last valid line for a directory wins, \" and other shell escapes inside the
quotes resolve to the escaped character, and platformdirs skips values that are neither $HOME-relative nor absolute.
XDG_DOCUMENTS_DIR in the environment takes precedence over the file and is skipped in the same way unless it is an
absolute path.
~/Documents
~/Documents
C:\Users\<User>\Documents
/storage/emulated/0/Documents
~/Documents
user_downloads_dir¶
See also: User downloads directory
~/Downloads
~/Downloads
C:\Users\<User>\Downloads
/storage/emulated/0/Download
~/Documents/Downloads
user_pictures_dir¶
See also: User pictures directory
~/Pictures
~/Pictures
C:\Users\<User>\Pictures
/storage/emulated/0/Pictures
~/Documents/Pictures
user_videos_dir¶
See also: User videos directory
~/Videos
~/Movies
C:\Users\<User>\Videos
/storage/emulated/0/Movies
~/Documents/Movies
user_music_dir¶
See also: User music directory
~/Music
~/Music
C:\Users\<User>\Music
/storage/emulated/0/Music
~/Documents/Music
user_desktop_dir¶
See also: User desktop directory
~/Desktop
~/Desktop
C:\Users\<User>\Desktop
/storage/emulated/0/Documents/Desktop
~/Documents/Desktop
user_projects_dir¶
See also: User projects directory
Defined by $XDG_PROJECTS_DIR (recently added to xdg-user-dirs).
~/Projects (from $XDG_PROJECTS_DIR if set, else $XDG_PROJECTS_DIR entry in
user-dirs.dirs, else ~/Projects)
~/Projects
C:\Users\<User>\Projects
/storage/emulated/0/Documents/Projects
~/Documents/Projects
user_templates_dir¶
See also: User templates directory
Defined by $XDG_TEMPLATES_DIR. macOS has no
platform-defined templates directory; ~/Templates is returned as a pragmatic fallback. On Windows, see
FOLDERID_Templates.
~/Templates (from $XDG_TEMPLATES_DIR if set, else $XDG_TEMPLATES_DIR entry in
user-dirs.dirs, else ~/Templates)
~/Templates (pragmatic fallback; macOS has no native templates directory)
%APPDATA%\Microsoft\Windows\Templates
/storage/emulated/0/Documents/Templates
~/Documents/Templates
user_fonts_dir¶
See also: User fonts directory
Derived from $XDG_DATA_HOME/fonts on Linux (no dedicated env var). See the XDG Base Directory Specification. On Windows, uses the per-user font location added in Windows
10.
$XDG_DATA_HOME/fonts (default ~/.local/share/fonts)
~/Library/Fonts
%LOCALAPPDATA%\Microsoft\Windows\Fonts
/storage/emulated/0/Documents/fonts
~/Library/Fonts
user_preference_dir¶
See also: User preference directory
On macOS, ~/Library/Preferences is distinct from ~/Library/Application Support (user_config_dir). See
Apple’s File System Programming Guide.
On all other platforms, this aliases user_config_dir.
Same as user_config_dir ($XDG_CONFIG_HOME or ~/.config/AppName)
~/Library/Preferences/AppName (distinct from ~/Library/Application Support)
Same as user_config_dir (%LOCALAPPDATA%\Acme\SuperApp)
Same as user_config_dir
Same as user_config_dir