apppath.AppPath

class apppath.AppPath(app_name: str, app_author: str | None = None, app_version: str | None = None, roaming: bool = False, multi_path: bool = False, ensure_existence_on_access: bool = True, normalise_path: bool = True)[source]

Bases: object

AppPath class for easing cross-platform access to proper app data directories This class is an abstraction for getting system conventional application paths for data, logs, etc.

__init__(app_name: str, app_author: str | None = None, app_version: str | None = None, roaming: bool = False, multi_path: bool = False, ensure_existence_on_access: bool = True, normalise_path: bool = True)[source]

Typical user data directories are: Mac OS X: ~/Library/Application Support/<AppName> Unix: ~/.local/share/<AppName> # or in $XDG_DATA_HOME, if defined Win XP (not roaming): C:Documents and Settings<username>Application Data<AppAuthor><AppName> Win XP (roaming): C:Documents and Settings<username>Local SettingsApplication Data<AppAuthor><AppName> Win 7 (not roaming): C:Users<username>AppDataLocal<AppAuthor><AppName> Win 7 (roaming): C:Users<username>AppDataRoaming<AppAuthor><AppName>

Typical site data directories are: Mac OS X: /Library/Application Support/<AppName> Unix: /usr/local/share/<AppName> or /usr/share/<AppName> Win XP: C:Documents and SettingsAll UsersApplication Data<AppAuthor><AppName> Vista: (Fail! “C:ProgramData” is a hidden system directory on Vista.) Win 7: C:ProgramData<AppAuthor><AppName> # Hidden, but writeable on Win 7.

Typical user config directories are: Mac OS X: ~/Library/Preferences/<AppName> Unix: ~/.config/<AppName> # or in $XDG_CONFIG_HOME, if defined Win *: same as user_data_dir

Typical site config directories are: Mac OS X: same as site_data_dir Unix: /etc/xdg/<AppName> or $XDG_CONFIG_DIRS[i]/<AppName> for each value in $XDG_CONFIG_DIRS Win : same as site_data_dir Vista: (Fail! “C:ProgramData” is a hidden *system directory on Vista.)

Typical user log directories are: Mac OS X: ~/Library/Logs/<AppName> Unix: ~/.cache/<AppName>/log # or under $XDG_CACHE_HOME if defined Win XP: C:Documents and Settings<username>Local SettingsApplication Data<AppAuthor><AppName>Logs Vista: C:Users<username>AppDataLocal<AppAuthor><AppName>Logs

Typical user state directories are: Mac OS X: same as user_data_dir Unix: ~/.local/state/<AppName> # or in $XDG_STATE_HOME, if defined Win *: same as user_data_dir

Typical user cache directories are: Mac OS X: ~/Library/Caches/<AppName> Unix: ~/.cache/<AppName> (XDG default) Win XP: C:Documents and Settings<username>Local SettingsApplication Data<AppAuthor><AppName>Cache Vista: C:Users<username>AppDataLocal<AppAuthor><AppName>Cache

Parameters:
  • app_name

  • app_author

  • app_version

  • roaming – “roaming” (boolean, default False) can be set True to use the Windows roaming appdata directory. That means that for users on a Windows network setup for roaming profiles, this user data will be sync’d on login. See <http://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx> for a discussion of issues.

  • multi_path – “multi_path” is an optional parameter only applicable to *nix which indicates that the entire list of data dirs should be returned. By default, the first item from XDG_DATA_DIRS is returned, or ‘/usr/local/share/<AppName>’, if XDG_DATA_DIRS is not set

  • ensure_existence_on_access

  • normalise_path

Methods

__init__(app_name[, app_author, ...])

Typical user data directories are: Mac OS X: ~/Library/Application Support/<AppName> Unix: ~/.local/share/<AppName> # or in $XDG_DATA_HOME, if defined Win XP (not roaming): C:Documents and Settings<username>Application Data<AppAuthor><AppName> Win XP (roaming): C:Documents and Settings<username>Local SettingsApplication Data<AppAuthor><AppName> Win 7 (not roaming): C:Users<username>AppDataLocal<AppAuthor><AppName> Win 7 (roaming): C:Users<username>AppDataRoaming<AppAuthor><AppName>

app_version()

description

clean([confirm])

Remove all apppath data

clean_site_config()

description

clean_site_data()

description

clean_user_cache()

description

clean_user_config()

description

clean_user_data()

description

clean_user_log()

description

Attributes

app_author

description

app_name

description

root_cache

description

root_config

description

root_log

description

root_long_tmp

description

root_run

description

root_state

description

root_tmp

description

site_cache

Nonsense, is same as user_cache Returns:

site_config

Site config path

site_data

Site data path

site_log

Nonsense, is same as user_log Returns:

user_cache

User cache path

user_config

User config path

user_data

User data path

user_log

User log path

user_state

User state path

property app_author: str

description

property app_name: str

description

app_version() str[source]

description

clean(confirm: bool = True) None[source]

Remove all apppath data

Parameters:

confirm

clean_site_config() None[source]

description

clean_site_data() None[source]

description

clean_user_cache() None[source]

description

clean_user_config() None[source]

description

clean_user_data() None[source]

description

clean_user_log() None[source]

description

property root_cache: Path

description

Returns:

property root_config: Path

description

Returns:

property root_log: Path

description

Returns:

property root_long_tmp: Path

description

Returns:

property root_run: Path

description

Returns:

property root_state: Path

description

Returns:

property root_tmp: Path

description

Returns:

property site_cache: Path

Nonsense, is same as user_cache Returns:

Type:

TODO

property site_config: Path

Site config path

Returns:

Return type:

property site_data: Path

Site data path

Returns:

Return type:

property site_log: Path

Nonsense, is same as user_log Returns:

Type:

TODO

property user_cache: Path

User cache path

Returns:

Return type:

property user_config: Path

User config path

Returns:

Return type:

property user_data: Path

User data path

Returns:

Return type:

property user_log: Path

User log path

Returns:

Return type:

property user_state: Path

User state path

Returns:

Return type: