| [build-system] |
| build-backend = "hatchling.build" |
| requires = [ |
| "hatch-vcs>=0.3", |
| "hatchling>=1.17.1", |
| ] |
| |
| [project] |
| name = "platformdirs" |
| description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." |
| readme = "README.rst" |
| keywords = [ |
| "appdirs", |
| "application", |
| "cache", |
| "directory", |
| "log", |
| "user", |
| ] |
| license = "MIT" |
| maintainers = [ |
| { name = "Bernát Gábor", email = "gaborjbernat@gmail.com" }, |
| { name = "Julian Berman", email = "Julian@GrayVines.com" }, |
| { name = "Ofek Lev", email = "oss@ofek.dev" }, |
| { name = "Ronny Pfannschmidt", email = "opensource@ronnypfannschmidt.de" }, |
| ] |
| requires-python = ">=3.7" |
| classifiers = [ |
| "Development Status :: 5 - Production/Stable", |
| "Intended Audience :: Developers", |
| "License :: OSI Approved :: MIT License", |
| "Operating System :: OS Independent", |
| "Programming Language :: Python", |
| "Programming Language :: Python :: 3 :: Only", |
| "Programming Language :: Python :: 3.7", |
| "Programming Language :: Python :: 3.8", |
| "Programming Language :: Python :: 3.9", |
| "Programming Language :: Python :: 3.10", |
| "Programming Language :: Python :: 3.11", |
| "Programming Language :: Python :: 3.12", |
| "Programming Language :: Python :: Implementation :: CPython", |
| "Programming Language :: Python :: Implementation :: PyPy", |
| "Topic :: Software Development :: Libraries :: Python Modules", |
| ] |
| dynamic = [ |
| "version", |
| ] |
| dependencies = [ |
| 'typing-extensions>=4.7.1; python_version < "3.8"', |
| ] |
| optional-dependencies.docs = [ |
| "furo>=2023.7.26", |
| "proselint>=0.13", |
| "sphinx>=7.1.1", |
| "sphinx-autodoc-typehints>=1.24", |
| ] |
| optional-dependencies.test = [ |
| "appdirs==1.4.4", |
| "covdefaults>=2.3", |
| "pytest>=7.4", |
| "pytest-cov>=4.1", |
| "pytest-mock>=3.11.1", |
| ] |
| urls.Documentation = "https://platformdirs.readthedocs.io" |
| urls.Homepage = "https://github.com/platformdirs/platformdirs" |
| urls.Source = "https://github.com/platformdirs/platformdirs" |
| urls.Tracker = "https://github.com/platformdirs/platformdirs/issues" |
| |
| [tool.hatch] |
| build.hooks.vcs.version-file = "src/platformdirs/version.py" |
| build.targets.sdist.include = ["/src", "/tests", "/tox.ini"] |
| version.source = "vcs" |
| |
| [tool.black] |
| line-length = 120 |
| |
| [tool.ruff] |
| select = ["ALL"] |
| line-length = 120 |
| target-version = "py37" |
| isort = {known-first-party = ["platformdirs", "tests"], required-imports = ["from __future__ import annotations"]} |
| ignore = [ |
| "ANN101", # Missing type annotation for `self` in method |
| "D301", # Use `r"""` if any backslashes in a docstring |
| "D205", # 1 blank line required between summary line and description |
| "D401", # First line of docstring should be in imperative mood |
| "D203", # `one-blank-line-before-class` (D203) and `no-blank-line-before-class` (D211) are incompatible |
| "D212", # `multi-line-summary-first-line` (D212) and `multi-line-summary-second-line` (D213) are incompatible |
| "S104", # Possible binding to all interface |
| ] |
| [tool.ruff.per-file-ignores] |
| "tests/**/*.py" = [ |
| "S101", # asserts allowed in tests... |
| "FBT", # don"t care about booleans as positional arguments in tests |
| "INP001", # no implicit namespace |
| "D", # don"t care about documentation in tests |
| "S603", # `subprocess` call: check for execution of untrusted input |
| "PLR2004", # Magic value used in comparison, consider replacing with a constant variable |
| ] |
| |
| [tool.coverage] |
| html.show_contexts = true |
| html.skip_covered = false |
| run.relative_files = true |
| paths.source = ["src", "**/site-packages"] |
| report.fail_under = 76 |
| run.parallel = true |
| run.plugins = ["covdefaults"] |
| |
| [tool.mypy] |
| python_version = "3.11" |
| show_error_codes = true |
| strict = true |
| overrides = [{ module = ["appdirs.*", "jnius.*"], ignore_missing_imports = true }] |