[docs]classMacOS(PlatformDirsABC):""" Platform directories for the macOS operating system. Follows the guidance from `Apple documentation <https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/MacOSXDirectories/MacOSXDirectories.html>`_. Makes use of the `appname <platformdirs.api.PlatformDirsABC.appname>`, `version <platformdirs.api.PlatformDirsABC.version>`, `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`. """@propertydefuser_data_dir(self)->str:""":return: data directory tied to the user, e.g. ``~/Library/Application Support/$appname/$version``"""returnself._append_app_name_and_version(os.path.expanduser("~/Library/Application Support"))# noqa: PTH111@propertydefsite_data_dir(self)->str:""" :return: data directory shared by users, e.g. ``/Library/Application Support/$appname/$version``. If we're using a Python binary managed by `Homebrew <https://brew.sh>`_, the directory will be under the Homebrew prefix, e.g. ``/opt/homebrew/share/$appname/$version``. If `multipath <platformdirs.api.PlatformDirsABC.multipath>` is enabled, and we're in Homebrew, the response is a multi-path string separated by ":", e.g. ``/opt/homebrew/share/$appname/$version:/Library/Application Support/$appname/$version`` """is_homebrew=sys.prefix.startswith("/opt/homebrew")path_list=[self._append_app_name_and_version("/opt/homebrew/share")]ifis_homebrewelse[]path_list.append(self._append_app_name_and_version("/Library/Application Support"))ifself.multipath:returnos.pathsep.join(path_list)returnpath_list[0]@propertydefsite_data_path(self)->Path:""":return: data path shared by users. Only return the first item, even if ``multipath`` is set to ``True``"""returnself._first_item_as_path_if_multipath(self.site_data_dir)@propertydefuser_config_dir(self)->str:""":return: config directory tied to the user, same as `user_data_dir`"""returnself.user_data_dir@propertydefsite_config_dir(self)->str:""":return: config directory shared by the users, same as `site_data_dir`"""returnself.site_data_dir@propertydefuser_cache_dir(self)->str:""":return: cache directory tied to the user, e.g. ``~/Library/Caches/$appname/$version``"""returnself._append_app_name_and_version(os.path.expanduser("~/Library/Caches"))# noqa: PTH111@propertydefsite_cache_dir(self)->str:""" :return: cache directory shared by users, e.g. ``/Library/Caches/$appname/$version``. If we're using a Python binary managed by `Homebrew <https://brew.sh>`_, the directory will be under the Homebrew prefix, e.g. ``/opt/homebrew/var/cache/$appname/$version``. If `multipath <platformdirs.api.PlatformDirsABC.multipath>` is enabled, and we're in Homebrew, the response is a multi-path string separated by ":", e.g. ``/opt/homebrew/var/cache/$appname/$version:/Library/Caches/$appname/$version`` """is_homebrew=sys.prefix.startswith("/opt/homebrew")path_list=[self._append_app_name_and_version("/opt/homebrew/var/cache")]ifis_homebrewelse[]path_list.append(self._append_app_name_and_version("/Library/Caches"))ifself.multipath:returnos.pathsep.join(path_list)returnpath_list[0]@propertydefsite_cache_path(self)->Path:""":return: cache path shared by users. Only return the first item, even if ``multipath`` is set to ``True``"""returnself._first_item_as_path_if_multipath(self.site_cache_dir)@propertydefuser_state_dir(self)->str:""":return: state directory tied to the user, same as `user_data_dir`"""returnself.user_data_dir@propertydefuser_log_dir(self)->str:""":return: log directory tied to the user, e.g. ``~/Library/Logs/$appname/$version``"""returnself._append_app_name_and_version(os.path.expanduser("~/Library/Logs"))# noqa: PTH111@propertydefuser_documents_dir(self)->str:""":return: documents directory tied to the user, e.g. ``~/Documents``"""returnos.path.expanduser("~/Documents")# noqa: PTH111@propertydefuser_downloads_dir(self)->str:""":return: downloads directory tied to the user, e.g. ``~/Downloads``"""returnos.path.expanduser("~/Downloads")# noqa: PTH111@propertydefuser_pictures_dir(self)->str:""":return: pictures directory tied to the user, e.g. ``~/Pictures``"""returnos.path.expanduser("~/Pictures")# noqa: PTH111@propertydefuser_videos_dir(self)->str:""":return: videos directory tied to the user, e.g. ``~/Movies``"""returnos.path.expanduser("~/Movies")# noqa: PTH111@propertydefuser_music_dir(self)->str:""":return: music directory tied to the user, e.g. ``~/Music``"""returnos.path.expanduser("~/Music")# noqa: PTH111@propertydefuser_desktop_dir(self)->str:""":return: desktop directory tied to the user, e.g. ``~/Desktop``"""returnos.path.expanduser("~/Desktop")# noqa: PTH111@propertydefuser_runtime_dir(self)->str:""":return: runtime directory tied to the user, e.g. ``~/Library/Caches/TemporaryItems/$appname/$version``"""returnself._append_app_name_and_version(os.path.expanduser("~/Library/Caches/TemporaryItems"))# noqa: PTH111@propertydefsite_runtime_dir(self)->str:""":return: runtime directory shared by users, same as `user_runtime_dir`"""returnself.user_runtime_dir