On Windows, platformdirs defaults to a two-level structure: AppData\Local\<appauthor>\<appname>. If appauthor is None, it defaults to the app name, resulting in a doubled path: AppData\Local\MyApp\MyApp.
You can control this behavior using the appauthor parameter:
- Explicit author:
user_data_dir("MyApp", "AcmeCompany") $\rightarrow$ AppData\Local\AcmeCompany\MyApp. - Flat structure:
user_data_dir("MyApp", appauthor=False) $\rightarrow$ AppData\Local\MyApp. - Default:
user_data_dir("MyApp") $\rightarrow$ AppData\Local\MyApp\MyApp.
Note: appauthor is ignored on non-Windows platforms.
from platformdirs import user_data_dir
# Explicit author -- AppData\Local\AcmeCompany\MyApp
user_data_dir("MyApp", "AcmeCompany")
# No author -- AppData\Local\MyApp (flat structure)
user_data_dir("MyApp", appauthor=False)
# Default (appauthor=None) -- AppData\Local\MyApp\MyApp
user_data_dir("MyApp")