Skip to content

Commit

Permalink
Fix the CI, bump tools
Browse files Browse the repository at this point in the history
Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
  • Loading branch information
gaborbernat committed Dec 27, 2022
1 parent 3b38040 commit 12e45ed
Show file tree
Hide file tree
Showing 12 changed files with 119 additions and 114 deletions.
8 changes: 5 additions & 3 deletions .github/workflows/check.yml
Expand Up @@ -19,7 +19,7 @@ jobs:
py:
- "3.11"
- "3.10"
- "pypy3.9" # ahead to start it earlier because takes longer
- "pypy3.9" # ahead to start it earlier because takes longer
- "3.9"
- "3.8"
- "3.7"
Expand Down Expand Up @@ -63,7 +63,9 @@ jobs:
PYTEST_ADDOPTS: "-vv --durations=20"
CI_RUN: "yes"
- name: Rename coverage report file
run: import os; import sys; os.rename(f".tox/.coverage.{os.environ['TOXENV']}", f".tox/.coverage.{os.environ['TOXENV']}-{sys.platform}")
run: |
import os; import sys;
os.rename(f".tox/.coverage.{os.environ['TOXENV']}", f".tox/.coverage.{os.environ['TOXENV']}-{sys.platform}")
shell: python
- name: Upload coverage data
uses: actions/upload-artifact@v3
Expand Down Expand Up @@ -136,7 +138,7 @@ jobs:

publish:
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
needs: [ check, coverage ]
needs: [check, coverage]
runs-on: ubuntu-latest
steps:
- name: Setup python to build package
Expand Down
8 changes: 8 additions & 0 deletions .markdownlint.yaml
@@ -0,0 +1,8 @@
MD013:
code_blocks: false
headers: false
line_length: 120
tables: false

MD046:
style: fenced
54 changes: 38 additions & 16 deletions .pre-commit-config.yaml
@@ -1,6 +1,6 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.3.0
rev: v4.4.0
hooks:
- id: check-ast
- id: check-builtin-literals
Expand All @@ -11,25 +11,30 @@ repos:
- id: debug-statements
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/asottile/add-trailing-comma
rev: v2.4.0
hooks:
- id: add-trailing-comma
args: [--py36-plus]
- repo: https://github.com/asottile/pyupgrade
rev: v3.2.2
rev: v3.3.1
hooks:
- id: pyupgrade
args: [ "--py36-plus" ]
args: ["--py37-plus"]
- repo: https://github.com/PyCQA/isort
rev: 5.10.1
rev: 5.11.4
hooks:
- id: isort
- repo: https://github.com/psf/black
rev: 22.10.0
rev: 22.12.0
hooks:
- id: black
args: [ --safe ]
args: [--safe]
- repo: https://github.com/asottile/blacken-docs
rev: v1.12.1
hooks:
- id: blacken-docs
additional_dependencies: [ black==22.10 ]
additional_dependencies: [black==22.12]
- repo: https://github.com/pre-commit/pygrep-hooks
rev: v1.9.0
hooks:
Expand All @@ -38,16 +43,33 @@ repos:
rev: "0.5.2"
hooks:
- id: tox-ini-fmt
args: [ "-p", "fix" ]
args: ["-p", "fix"]
- repo: https://github.com/PyCQA/flake8
rev: 5.0.4
rev: 6.0.0
hooks:
- id: flake8
additional_dependencies:
- flake8-bugbear==22.10.27
- flake8-comprehensions==3.10.1
- flake8-pytest-style==1.6
- flake8-spellcheck==0.28
- flake8-unused-arguments==0.0.12
- flake8-noqa==1.2.9
- pep8-naming==0.13.2
- flake8-bugbear==22.12.6
- flake8-comprehensions==3.10.1
- flake8-pytest-style==1.6
- flake8-spellcheck==0.28
- flake8-unused-arguments==0.0.12
- flake8-noqa==1.3
- pep8-naming==0.13.3
- flake8-pyproject==1.2.2
- repo: https://github.com/pre-commit/mirrors-prettier
rev: "v2.7.1"
hooks:
- id: prettier
additional_dependencies:
- prettier@3.0.0-alpha.4
- "@prettier/plugin-xml@2.2"
args: ["--print-width=120", "--prose-wrap=always"]
- repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.32.2
hooks:
- id: markdownlint
- repo: meta
hooks:
- id: check-hooks-apply
- id: check-useless-excludes
5 changes: 0 additions & 5 deletions CHANGES.rst
Expand Up @@ -20,11 +20,6 @@ platformdirs 2.5.2 (2022-04-18)
- Move packaging to hatcling from setuptools
- Treat android shells as unix

platformdirs 2.5.2 (2022-04-18)
-------------------------------
- Move packaging to hatcling from setuptools
- Treat android shells as unix

platformdirs 2.5.1 (2022-02-19)
-------------------------------
- Add native support for nuitka
Expand Down
11 changes: 8 additions & 3 deletions docs/conf.py
@@ -1,5 +1,7 @@
from __future__ import annotations

from datetime import datetime

from platformdirs.version import __version__

author = "The platformdirs team"
Expand All @@ -13,14 +15,17 @@
"sphinx.ext.autosectionlabel",
"sphinx.ext.viewcode",
"sphinx.ext.intersphinx",
# "sphinx_autodoc_typehints",
"sphinx_autodoc_typehints",
]
html_theme = "furo"

html_title, html_last_updated_fmt = "tox", datetime.now().isoformat()
pygments_style, pygments_dark_style = "sphinx", "monokai"
autoclass_content, autodoc_member_order, autodoc_typehints = "class", "bysource", "none"
autodoc_default_options = {
"member-order": "bysource",
"undoc-members": True,
"show-inheritance": True,
}
default_role = "any"
autodoc_typehints = "signature"
autosectionlabel_prefix_document = True
intersphinx_mapping = {"python": ("https://docs.python.org/3", None)}
41 changes: 28 additions & 13 deletions pyproject.toml
@@ -1,6 +1,6 @@
[build-system]
build-backend = "hatchling.build"
requires = ["hatchling>=1.11.1", "hatch-vcs>=0.2"]
requires = ["hatchling>=1.11.1", "hatch-vcs>=0.3"]

[project]
name = "platformdirs"
Expand All @@ -20,16 +20,12 @@ urls.Tracker = "https://github.com/platformdirs/platformdirs/issues"
requires-python = ">=3.7"
optional-dependencies.test = [
"appdirs==1.4.4",
"covdefaults>=2.2.2",
"pytest>=7.2",
"pytest-cov>=4",
"pytest-mock>=3.10",
]
optional-dependencies.docs = [
"furo>=2022.9.29",
"proselint>=0.13",
"sphinx>=5.3",
"sphinx-autodoc-typehints>=1.19.4",
]
optional-dependencies.docs = ["furo>=2022.12.7", "proselint>=0.13", "sphinx>=5.3", "sphinx-autodoc-typehints>=1.19.5"]
keywords = ["application", "cache", "directory", "log", "user"]
classifiers = [
"Development Status :: 5 - Production/Stable",
Expand All @@ -51,18 +47,37 @@ classifiers = [
dynamic = ["version"]

[tool.hatch]
build.hooks.vcs.template = '''
"""Version information"""
__version__ = "{version}"
__version_info__ = {version_tuple}
'''
build.hooks.vcs.version-file = "src/platformdirs/version.py"
build.targets.sdist.include = ["/src", "/tests"]
version.source = "vcs"

[tool.coverage]
html.show_contexts = true
html.skip_covered = false
paths.source = ["src", ".tox/*/lib/*/site-packages", ".tox\\*\\Lib\\site-packages", "*/src", "*\\src"]
report.fail_under = 76
run.parallel = true
run.plugins = ["covdefaults"]

[tool.black]
line-length = 120

[tool.isort]
profile = "black"
known_first_party = ["platformdirs"]

[tool.mypy]
python_version = "3.11"
show_error_codes = true
strict = true
overrides = [{ module = ["appdirs.*", "jnius.*"], ignore_missing_imports = true }]

[tool.pep8]
max-line-length = "120"

[tool.flake8]
max-complexity = 22
max-line-length = 120
unused-arguments-ignore-abstract-functions = true
noqa-require-code = true
dictionaries = ["en_US", "python", "technical", "django"]
49 changes: 0 additions & 49 deletions setup.cfg

This file was deleted.

10 changes: 6 additions & 4 deletions src/platformdirs/__init__.py
Expand Up @@ -7,13 +7,15 @@
import os
import sys
from pathlib import Path
from typing import TYPE_CHECKING

if TYPE_CHECKING:
from typing_extensions import Literal # pragma: no cover
if sys.version_info >= (3, 8): # pragma: no cover (py38+)
from typing import Literal
else: # pragma: no cover (py38+)
from typing_extensions import Literal

from .api import PlatformDirsABC
from .version import __version__, __version_info__
from .version import __version__
from .version import __version_tuple__ as __version_info__


def _set_platform_dir_class() -> type[PlatformDirsABC]:
Expand Down
6 changes: 5 additions & 1 deletion tests/test_api.py
Expand Up @@ -55,7 +55,11 @@ def test_function_interface_is_in_sync(func: str) -> None:
@pytest.mark.parametrize("path", ["/data/data/a/files", "/C"])
@pytest.mark.parametrize("shell", ["/data/data/com.app/files/usr/bin/sh", "/usr/bin/sh", None])
def test_android_active(
monkeypatch: MonkeyPatch, root: str | None, data: str | None, path: str, shell: str | None
monkeypatch: MonkeyPatch,
root: str | None,
data: str | None,
path: str,
shell: str | None,
) -> None:
for env_var, value in {"ANDROID_DATA": data, "ANDROID_ROOT": root, "SHELL": shell}.items():
if value is None:
Expand Down
2 changes: 1 addition & 1 deletion tests/test_main.py
Expand Up @@ -12,7 +12,7 @@ def test_props_same_as_test(props: tuple[str, ...]) -> None:


def test_run_as_module() -> None:
out = check_output([sys.executable, "-m", "platformdirs"], universal_newlines=True)
out = check_output([sys.executable, "-m", "platformdirs"], text=True)

assert out.startswith(f"-- platformdirs {__version__} --")
for prop in PROPS:
Expand Down

0 comments on commit 12e45ed

Please sign in to comment.