appdata
Utils to manage application data folder.
What it is and what it does
AppData is a lightweight utility for managing application data directories across Linux, macOS, and Windows. It abstracts away OS-specific conventions—such as ~/.myapp on Unix or %APPDATA% on Windows—into a single AppDataPaths class that you instantiate with your application name. Once set up, it provides ready-made paths for logs, configuration files, and the main app data folder, eliminating the need to hardcode platform-specific directory logic.
The package has no external runtime dependencies and installs as a pure Python wheel. It is marked Production/Stable and dormant since late 2023, making it a stable choice for applications that need predictable, OS-compliant data storage without ongoing churn. Use it when you want to avoid manual path construction and ensure your app respects platform conventions.
Use it for:
- Set up standard log and config directories for a CLI tool on first run across Windows, macOS, and Linux.
- Store user-specific application settings in the OS-standard location without platform-specific conditionals.
- Create a consistent folder structure for caching or temporary data that persists across application restarts.
- Simplify testing by providing a predictable, isolated app data path that can be mocked or redirected per test.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a cross-platform abstraction for managing application data directories, logs, and configuration files in standard OS-specific locations.
Yes. AppData solves a genuine cross-platform problem with zero dependencies, a permissive license, and stable code. Install it if your application needs to store data, logs, or config files and you want to respect OS conventions without writing platform detection logic yourself. The dormant status is not a concern for a utility this narrow in scope.
Install
appdata on PyPI
pip
pip install appdatauv
uv add appdatapoetry
poetry add appdataInstalling appdata
Before you install
Low friction to install; the package is dormant (last commit 2023-12-26, 962 days ago) but carries no runtime dependencies and is marked Production/Stable.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for most projects.
Quickstart
pip install appdata
from appdata import AppDataPaths
app_paths = AppDataPaths('myapp')
app_paths.setup()
print(app_paths.app_data_path)
print(app_paths.logs_path)
Verify before relying
- Whether the package supports Python versions beyond 3.8 (classifiers list 3.5–3.8 but requires_python is unspecified)
- Whether dormancy (last commit 962 days ago) affects compatibility with recent OS changes to app data directory standards
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | dormant — 962 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 346,594/month — #7,353 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: appdata-2.2.1-py3-none-any.whl
Keywords: utils, filesystem, paths, resources
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
platformdirsDetermines platform-specific directories for…
permissive · top 100 on PyPI
appdirsDetermines the correct platform-specific…
permissive · top 1,000 on PyPI
pathtoolsProvides pattern matching and utility functions…
permissive · top 15,000 on PyPI
path.pyProvides Path objects that wrap filesystem…
permissive · top 15,000 on PyPI
iopathiopath provides a unified interface for reading…
permissive · top 5,000 on PyPI
django-appconfProvides a base class for Django apps to define…
permissive · top 5,000 on PyPI
lib-layered-configLoads and merges configuration from multiple…
permissive · top 15,000 on PyPI
configuratorBuilds a configuration store by layering…
permissive · top 15,000 on PyPI
universal-startfileProvides a cross-platform wrapper around…
permissive · top 15,000 on PyPI
confuseConfuse is a YAML configuration library that…
permissive · top 5,000 on PyPI