The changes of more recent versions are tracked here.
- UNIX: revert site_cache_dir to use
/var/cache
instead of/var/tmp
- BSD: provide a fallback for
user_runtime_dir
- Add missing user media directory docs
- Have user_runtime_dir return /var/run/user/uid for *BSD
- introduce
user_downloads_dir
- Use ruff
- test with 3.12.0.b1
- Add 3.12 support
- Add tox.ini to sdist
- removing Windows versions
- Better handling for UNIX support
- introduce
user_music_dir
- introduce
user_videos_dir
- introduce
user_pictures_dir
- add auto create directories optional
- site_cache_dir use
/var/tmp
instead of/var/cache
on unix, as the later may be write protected
- Introduce
site_cache_dir
- Add
appdirs
keyword to package
- BREAKING Changed the config directory on macOS to point to
*/Library/Application Support
- macOS: remove erroneous trailing slash from
user_config_dir
anduser_data_dir
- Fix missing
typing-extensions
dependency.
- Add detection of
$PREFIX
for android.
- BREAKING Correct the log directory on Linux/Unix from
XDG_CACHE_HOME
toXDG_STATE_HOME
per the XDG spec
- Fix licensing metadata
- Support 3.11
- Bump dependencies
- Move packaging to hatchling from setuptools
- Treat android shells as unix
- Add native support for nuitka
- Add support for Termux subsystems
- Drop python 3.6 support
- Add
user_documents_dir
- Add
user_runtime_dir
and its path-returning equivalent (#37)
- Unix: Fallback to default if XDG environment variable is empty
- Add
readthedocs.org
documentation via Sphinx - Modernize project layout
- Drop Python 2.7 and 3.5 support
- Android support
- Add type annotations
- Reorganize project layout to platform specific classes, see :class:`PlatformDirsABC <platformdirs.api.PlatformDirsABC>` and it's implementations: :class:`Android <platformdirs.android.Android>`, :class:`MacOS <platformdirs.macos.MacOS>`, :class:`Unix <platformdirs.unix.Unix>` and :class:`Windows <platformdirs.windows.Windows>`
- Add
*_path
API, returning :class:`pathlib.Path <pathlib.Path>` objects instead of :class:`str` (user_data_path
,user_config_path
,user_cache_path
,user_state_path
,user_log_path
,site_data_path
,site_config_path
) - by @papr
- Fix
__version__
and__version_info__
- Documentation fixes
- BREAKING Name change as part of the friendly fork
- BREAKING Remove support for end-of-life Pythons 2.6, 3.2, and 3.3
- BREAKING Correct the config directory on OSX/macOS
- Add Python 3.7, 3.8, and 3.9 support
- [PR #92] Don't import appdirs from setup.py which resolves issue #91
Project officially classified as Stable which is important for inclusion in other distros such as ActivePython.
- [PR #76] Python 3.6 invalid escape sequence deprecation fixes
- Fix for Python 3.6 support
- [PR #84] Allow installing without setuptools
- [PR #86] Fix string delimiters in setup.py description
- Add Python 3.6 support
- [issue #38] Fix _winreg import on Windows Py3
- [issue #55] Make appname optional
- [PR #42] AppAuthor is now optional on Windows
- [issue 41] Support Jython on Windows, Mac, and Unix-like platforms. Windows support requires JNA.
- [PR #44] Fix incorrect behavior of the site_config_dir method
- [Unix, issue 16] Conform to XDG standard, instead of breaking it for everybody
- [Unix] Removes gratuitous case mangling of the case, since *nix-es are usually case sensitive, so mangling is not wise
- [Unix] Fixes the utterly wrong behavior in
site_data_dir
, return result based on XDG_DATA_DIRS and make room for respecting the standard which specifies XDG_DATA_DIRS is a multiple-value variable - [Issue 6] Add
*_config_dir
which are distinct on nix-es, according to XDG specs; on Windows and Mac return the corresponding*_data_dir
- [Unix] Put
user_log_dir
under the cache dir on Unix. Seems to be more typical. - [issue 9] Make
unicode
work on py3k.
[issue 4] Add
AppDirs.user_log_dir
.[Unix, issue 2, issue 7] appdirs now conforms to XDG base directory spec.
[Mac, issue 5] Fix
site_data_dir()
on Mac.[Mac] Drop use of 'Carbon' module in favor of hardcoded paths; supports Python3 now.
[Windows] Append "Cache" to
user_cache_dir
on Windows by default. Useopinion=False
option to disable this.Add
appdirs.AppDirs
convenience class. Usage:>>> dirs = AppDirs("SuperApp", "Acme", version="1.0") >>> dirs.user_data_dir '/Users/trentm/Library/Application Support/SuperApp/1.0'
[Windows] Cherry-pick Komodo's change to downgrade paths to the Windows short paths if there are high bit chars.
[Linux] Change default
user_cache_dir()
on Linux to be singular, e.g. "~/.superapp/cache".[Windows] Add
roaming
option touser_data_dir()
(for use on Windows only) and change the defaultuser_data_dir
behavior to use a non-roaming profile dir (CSIDL_LOCAL_APPDATA
instead ofCSIDL_APPDATA
). Why? Because a large roaming profile can cause login speed issues. The "only syncs on logout" behavior can cause surprises in appdata info.
Started this changelog 27 July 2010. Before that this module originated in the
Komodo product as applib.py
and then
as applib/location.py
(used by PyPM in ActivePython). This is basically a fork of applib.py 1.0.1 and applib/location.py 1.0.1.