--- id: pystow version: "0.9.0" license: MIT license_treatment: permissive maintenance: active --- # pystow — Easily pick a place to store data for your Python code License: permissive · Maintenance: active · Downloads: 392.8K/mo ## What it is and what it does PyStow abstracts away the decision of where to store application data by providing a consistent interface for managing directories and files in a user's home directory (typically ~/.data). It handles directory creation automatically and provides convenience methods to download, cache, and load remote files in various formats. The package is designed for Python applications that need to persist data between runs—such as downloaded datasets, cached API responses, or application state. It supports optional integration with XDG Base Directory specifications and allows configuration via environment variables (PYSTOW_HOME, PYSTOW_NAME, PYSTOW_USE_APPDIRS). Optional dependencies enable loading data as pandas DataFrames, RDF graphs, or other structured formats. Use it for: - Store and retrieve cached datasets for machine learning or data analysis workflows - Download and manage remote files (CSV, RDF, archives) with automatic caching to avoid re-downloading - Provide a consistent data directory for Python applications that need persistent storage across sessions - Organize application-specific configuration and state files in a standard location ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. PyStow provides a standardized way to store and retrieve application data files in a user's home directory, with built-in support for downloading and caching remote files. Yes. PyStow solves a common problem with minimal dependencies and active maintenance. It is well-suited for any Python application needing straightforward data persistence and file caching. The MIT license and zero known vulnerabilities make it a low-risk addition. Install it if your application downloads or caches files, or needs a standard place to store application data. ## Install pip install pystow uv add pystow poetry add pystow ## Installing pystow Before you install: Low install friction with only three runtime dependencies (tqdm, typing-extensions, backports-zstd). Active maintenance with a release 4 days ago and ongoing repository activity. License in practice: MIT license permits unrestricted use, modification, and distribution in both open and closed-source projects. Quickstart: import pystow # Get a directory for your app app_dir = pystow.join("myapp") # Download and cache a file url = "https://example.com/data.txt" path = pystow.ensure("myapp", "data", url=url) Verify before relying: - Whether ensure_csv, ensure_rdf, ensure_excel and other format-specific methods work without optional dependencies installed - Performance characteristics when managing large numbers of cached files or deep directory hierarchies ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 392.8K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags application data directory management, file caching and download, home directory data storage, persistent app configuration storage, remote file ensure and cache, file-caching, data-persistence [View on SkillFed](https://skillfed.io/packages/pystow) · [View on PyPI](https://pypi.org/project/pystow/)