# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
name = "dirs"
version = "5.0.1"
authors = ["Simon Ochsenreither <simon@ochsenreither.de>"]
description = "A tiny low-level library that provides platform-specific standard locations of directories for config, cache and other data on Linux, Windows, macOS and Redox by leveraging the mechanisms defined by the XDG base/user directory specifications on Linux, the Known Folder API on Windows, and the Standard Directory guidelines on macOS."
readme = "README.md"
keywords = [
    "xdg",
    "basedir",
    "app_dirs",
    "path",
    "folder",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/soc/dirs-rs"

[dependencies.dirs-sys]
version = "0.4.1"
