Skip to content

Commit

Permalink
Update linters/formatters/precommit to match other projects (#750)
Browse files Browse the repository at this point in the history
  • Loading branch information
frenck authored Dec 8, 2024
1 parent 7c6208d commit d29f26b
Show file tree
Hide file tree
Showing 16 changed files with 29 additions and 43 deletions.
33 changes: 4 additions & 29 deletions .github/workflows/linting.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,31 +54,10 @@ jobs:
poetry config virtualenvs.in-project true
- name: 🏗 Install Python dependencies
run: poetry install --no-interaction
- name: 🚀 Run Ruff
run: poetry run ruff check .

black:
name: black
runs-on: ubuntu-latest
steps:
- name: ⤵️ Check out code from GitHub
uses: actions/[email protected]
- name: 🏗 Set up Poetry
run: pipx install poetry
- name: 🏗 Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/[email protected]
with:
python-version: ${{ env.DEFAULT_PYTHON }}
cache: "poetry"
- name: 🏗 Install workflow dependencies
run: |
poetry config virtualenvs.create true
poetry config virtualenvs.in-project true
- name: 🏗 Install Python dependencies
run: poetry install --no-interaction
- name: 🚀 Run black on docs
run: poetry run blacken-docs
- name: 🚀 Run ruff linter
run: poetry run ruff check --output-format=github .
- name: 🚀 Run ruff formatter
run: poetry run ruff format --check .

pre-commit-hooks:
name: pre-commit-hooks
Expand Down Expand Up @@ -116,10 +95,6 @@ jobs:
run: poetry run pre-commit run check-symlinks --all-files
- name: 🚀 Check TOML files
run: poetry run pre-commit run check-toml --all-files
- name: 🚀 Check XML files
run: poetry run pre-commit run check-xml --all-files
- name: 🚀 Check YAML files
run: poetry run pre-commit run check-yaml --all-files
- name: 🚀 Check YAML files
run: poetry run pre-commit run check-yaml --all-files
- name: 🚀 Detect Private Keys
Expand Down
17 changes: 6 additions & 11 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,20 @@
repos:
- repo: local
hooks:
- id: ruff
name: 🐶 Ruff
- id: ruff-check
name: 🐶 Ruff Linter
language: system
types: [python]
entry: poetry run ruff check --fix
require_serial: true
stages: [commit, push, manual]
- id: black
name: ☕️ Format using black
- id: ruff-format
name: 🐶 Ruff Formatter
language: system
types: [python]
entry: poetry run black
require_serial: true
- id: blacken-docs
name: ☕️ Format documentation examples using black
language: system
files: '\.(rst|md|markdown|py|tex)$'
entry: poetry run blacken-docs
entry: poetry run ruff format
require_serial: true
stages: [commit, push, manual]
- id: check-ast
name: 🐍 Check Python AST
language: system
Expand Down
7 changes: 5 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -122,13 +122,16 @@ asyncio_mode = "auto"

[tool.ruff.lint]
ignore = [
"ANN101", # Self... explanatory
"ANN102", # cls... just as annoying as ANN101
"ANN401", # Opinioated warning on disallowing dynamically typed expressions
"D203", # Conflicts with other rules
"D213", # Conflicts with other rules
"D417", # False positives in some occasions
"PLR2004", # Just annoying, not really useful


# Conflicts with the Ruff formatter
"COM812",
"ISC001",
]
select = ["ALL"]

Expand Down
3 changes: 2 additions & 1 deletion src/demetriek/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Asynchronous Python client for LaMetric TIME devices."""

from .cloud import LaMetricCloud
from .const import (
AlarmSound,
Expand Down Expand Up @@ -52,8 +53,8 @@
"DisplayType",
"Goal",
"GoalData",
"LaMetricCloud",
"LaMetricAuthenticationError",
"LaMetricCloud",
"LaMetricConnectionError",
"LaMetricConnectionTimeoutError",
"LaMetricDevice",
Expand Down
1 change: 1 addition & 0 deletions src/demetriek/cloud.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Asynchronous Python client for LaMetric TIME devices."""

from __future__ import annotations

import asyncio
Expand Down
1 change: 1 addition & 0 deletions src/demetriek/device.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Asynchronous Python client for LaMetric TIME devices."""

from __future__ import annotations

import asyncio
Expand Down
1 change: 1 addition & 0 deletions src/demetriek/models.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Models for LaMetric."""

from __future__ import annotations

from datetime import datetime
Expand Down
1 change: 1 addition & 0 deletions tests/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Asynchronous Python client for LaMetric TIME devices."""

from pathlib import Path


Expand Down
1 change: 1 addition & 0 deletions tests/test_apps.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Asynchronous Python client for LaMetric TIME devices."""

# pylint: disable=protected-access
import aiohttp
from aresponses import ResponsesMockServer
Expand Down
1 change: 1 addition & 0 deletions tests/test_audio.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Asynchronous Python client for LaMetric TIME devices."""

# pylint: disable=protected-access
import aiohttp
from aresponses import Response, ResponsesMockServer
Expand Down
1 change: 1 addition & 0 deletions tests/test_bluetooth.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Asynchronous Python client for LaMetric TIME devices."""

# pylint: disable=protected-access
import aiohttp
from aresponses import Response, ResponsesMockServer
Expand Down
1 change: 1 addition & 0 deletions tests/test_cloud.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Asynchronous Python client for LaMetric TIME devices."""

# pylint: disable=protected-access
import asyncio
from datetime import datetime, timezone
Expand Down
1 change: 1 addition & 0 deletions tests/test_device.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Asynchronous Python client for LaMetric TIME devices."""

# pylint: disable=protected-access
from ipaddress import IPv4Address

Expand Down
1 change: 1 addition & 0 deletions tests/test_display.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Asynchronous Python client for LaMetric TIME devices."""

# pylint: disable=protected-access
import aiohttp
from aresponses import Response, ResponsesMockServer
Expand Down
1 change: 1 addition & 0 deletions tests/test_lametric.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Asynchronous Python client for LaMetric TIME devices."""

# pylint: disable=protected-access
import asyncio

Expand Down
1 change: 1 addition & 0 deletions tests/test_wifi.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Asynchronous Python client for LaMetric TIME devices."""

# pylint: disable=protected-access
from ipaddress import IPv4Address

Expand Down

0 comments on commit d29f26b

Please sign in to comment.