All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vincent Fazio <vfazio@gmail.com>
To: linux-gpio@vger.kernel.org
Cc: Vincent Fazio <vfazio@gmail.com>
Subject: [libgpiod][PATCH 7/9] bindings: python: examples: apply linter recommendations
Date: Tue, 31 Mar 2026 19:14:56 -0500	[thread overview]
Message-ID: <20260401001459.19159-7-vfazio@gmail.com> (raw)
In-Reply-To: <20260401001459.19159-1-vfazio@gmail.com>

* Sort imports
* Use f-strings where possible
* Remove usage of `tuple` for config key values

Signed-off-by: Vincent Fazio <vfazio@gmail.com>
---
 bindings/python/examples/async_watch_line_value.py   |  9 ++++-----
 bindings/python/examples/find_line_by_name.py        |  7 ++++---
 bindings/python/examples/get_chip_info.py            |  2 +-
 bindings/python/examples/get_line_info.py            | 12 +++++-------
 bindings/python/examples/get_line_value.py           |  3 +--
 bindings/python/examples/get_multiple_line_values.py |  7 +++----
 .../python/examples/reconfigure_input_to_output.py   |  5 ++---
 bindings/python/examples/toggle_line_value.py        |  4 ++--
 .../python/examples/toggle_multiple_line_values.py   | 12 ++++--------
 bindings/python/examples/watch_line_rising.py        |  7 +++----
 bindings/python/examples/watch_line_value.py         | 10 +++++-----
 .../python/examples/watch_multiple_line_values.py    | 12 +++++-------
 12 files changed, 39 insertions(+), 51 deletions(-)

diff --git a/bindings/python/examples/async_watch_line_value.py b/bindings/python/examples/async_watch_line_value.py
index 640a4c5..68c8b28 100755
--- a/bindings/python/examples/async_watch_line_value.py
+++ b/bindings/python/examples/async_watch_line_value.py
@@ -4,11 +4,10 @@
 
 """Minimal example of asynchronously watching for edges on a single line."""
 
-import gpiod
 import select
-
 from datetime import timedelta
 
+import gpiod
 from gpiod.edge_event import EdgeEvent
 from gpiod.line import Bias, Edge
 
@@ -48,9 +47,9 @@ def async_watch_line_value(chip_path: str, line_offset: int, done_fd: int) -> No
                 # handle any edge events
                 for event in request.read_edge_events():
                     print(
-                        "offset: {}  type: {:<7}  event #{}".format(
-                            event.line_offset, edge_type_str(event), event.line_seqno
-                        )
+                        f"offset: {event.line_offset}"
+                        f"  type: {edge_type_str(event):<7}"
+                        f"  event #{event.line_seqno}"
                     )
 
 
diff --git a/bindings/python/examples/find_line_by_name.py b/bindings/python/examples/find_line_by_name.py
index 4ed3848..9523c1c 100755
--- a/bindings/python/examples/find_line_by_name.py
+++ b/bindings/python/examples/find_line_by_name.py
@@ -4,10 +4,11 @@
 
 """Minimal example of finding a line with the given name."""
 
-import gpiod
 import os
 from collections.abc import Generator
 
+import gpiod
+
 
 def generate_gpio_chips() -> Generator[str]:
     for entry in os.scandir("/dev/"):
@@ -22,13 +23,13 @@ def find_line_by_name(line_name: str) -> None:
         with gpiod.Chip(path) as chip:
             try:
                 offset = chip.line_offset_from_id(line_name)
-                print("{}: {} {}".format(line_name, chip.get_info().name, offset))
+                print(f"{line_name}: {chip.get_info().name} {offset}")
                 return
             except OSError:
                 # An OSError is raised if the name is not found.
                 continue
 
-    print("line '{}' not found".format(line_name))
+    print(f"line '{line_name}' not found")
 
 
 if __name__ == "__main__":
diff --git a/bindings/python/examples/get_chip_info.py b/bindings/python/examples/get_chip_info.py
index 037e424..addad5c 100755
--- a/bindings/python/examples/get_chip_info.py
+++ b/bindings/python/examples/get_chip_info.py
@@ -10,7 +10,7 @@ import gpiod
 def get_chip_info(chip_path: str) -> None:
     with gpiod.Chip(chip_path) as chip:
         info = chip.get_info()
-        print("{} [{}] ({} lines)".format(info.name, info.label, info.num_lines))
+        print(f"{info.name} [{info.label}] ({info.num_lines} lines)")
 
 
 if __name__ == "__main__":
diff --git a/bindings/python/examples/get_line_info.py b/bindings/python/examples/get_line_info.py
index 8e7283e..4d9ba76 100755
--- a/bindings/python/examples/get_line_info.py
+++ b/bindings/python/examples/get_line_info.py
@@ -12,13 +12,11 @@ def get_line_info(chip_path: str, line_offset: int) -> None:
         info = chip.get_line_info(line_offset)
         is_input = info.direction == gpiod.line.Direction.INPUT
         print(
-            "line {:>3}: {:>12} {:>12} {:>8} {:>10}".format(
-                info.offset,
-                info.name or "unnamed",
-                info.consumer or "unused",
-                "input" if is_input else "output",
-                "active-low" if info.active_low else "active-high",
-            )
+            f"line {info.offset:>3}:"
+            f" {info.name or 'unnamed':>12}"
+            f" {info.consumer or 'unused':>12}"
+            f" {'input' if is_input else 'output':>8}"
+            f" {'active-low' if info.active_low else 'active-high':>10}"
         )
 
 
diff --git a/bindings/python/examples/get_line_value.py b/bindings/python/examples/get_line_value.py
index 5ca952b..3984802 100755
--- a/bindings/python/examples/get_line_value.py
+++ b/bindings/python/examples/get_line_value.py
@@ -5,7 +5,6 @@
 """Minimal example of reading a single line."""
 
 import gpiod
-
 from gpiod.line import Direction
 
 
@@ -16,7 +15,7 @@ def get_line_value(chip_path: str, line_offset: int) -> None:
         config={line_offset: gpiod.LineSettings(direction=Direction.INPUT)},
     ) as request:
         value = request.get_value(line_offset)
-        print("{}={}".format(line_offset, value))
+        print(f"{line_offset}={value}")
 
 
 if __name__ == "__main__":
diff --git a/bindings/python/examples/get_multiple_line_values.py b/bindings/python/examples/get_multiple_line_values.py
index f70369f..66148a3 100755
--- a/bindings/python/examples/get_multiple_line_values.py
+++ b/bindings/python/examples/get_multiple_line_values.py
@@ -7,7 +7,6 @@
 from collections.abc import Iterable
 
 import gpiod
-
 from gpiod.line import Direction
 
 
@@ -15,12 +14,12 @@ def get_multiple_line_values(chip_path: str, line_offsets: Iterable[int]) -> Non
     with gpiod.request_lines(
         chip_path,
         consumer="get-multiple-line-values",
-        config={tuple(line_offsets): gpiod.LineSettings(direction=Direction.INPUT)},
+        config={line_offsets: gpiod.LineSettings(direction=Direction.INPUT)},
     ) as request:
         vals = request.get_values()
 
-        for offset, val in zip(line_offsets, vals):
-            print("{}={} ".format(offset, val), end="")
+        for offset, val in zip(line_offsets, vals, strict=True):
+            print(f"{offset}={val} ", end="")
         print()
 
 
diff --git a/bindings/python/examples/reconfigure_input_to_output.py b/bindings/python/examples/reconfigure_input_to_output.py
index feb5f0b..a2224e8 100755
--- a/bindings/python/examples/reconfigure_input_to_output.py
+++ b/bindings/python/examples/reconfigure_input_to_output.py
@@ -5,7 +5,6 @@
 """Example of a bi-directional line requested as input and then switched to output."""
 
 import gpiod
-
 from gpiod.line import Direction, Value
 
 
@@ -18,7 +17,7 @@ def reconfigure_input_to_output(chip_path: str, line_offset: int) -> None:
     ) as request:
         # read the current line value
         value = request.get_value(line_offset)
-        print("{}={} (input)".format(line_offset, value))
+        print(f"{line_offset}={value} (input)")
         # switch the line to an output and drive it low
         request.reconfigure_lines(
             config={
@@ -29,7 +28,7 @@ def reconfigure_input_to_output(chip_path: str, line_offset: int) -> None:
         )
         # report the current driven value
         value = request.get_value(line_offset)
-        print("{}={} (output)".format(line_offset, value))
+        print(f"{line_offset}={value} (output)")
 
 
 if __name__ == "__main__":
diff --git a/bindings/python/examples/toggle_line_value.py b/bindings/python/examples/toggle_line_value.py
index bc948de..bfd1585 100755
--- a/bindings/python/examples/toggle_line_value.py
+++ b/bindings/python/examples/toggle_line_value.py
@@ -4,9 +4,9 @@
 
 """Minimal example of toggling a single line."""
 
-import gpiod
 import time
 
+import gpiod
 from gpiod.line import Direction, Value
 
 
@@ -30,7 +30,7 @@ def toggle_line_value(chip_path: str, line_offset: int) -> None:
         },
     ) as request:
         while True:
-            print("{}={}".format(line_offset, value_str[value]))
+            print(f"{line_offset}={value_str[value]}")
             time.sleep(1)
             value = toggle_value(value)
             request.set_value(line_offset, value)
diff --git a/bindings/python/examples/toggle_multiple_line_values.py b/bindings/python/examples/toggle_multiple_line_values.py
index 74ff587..8c973f8 100755
--- a/bindings/python/examples/toggle_multiple_line_values.py
+++ b/bindings/python/examples/toggle_multiple_line_values.py
@@ -4,9 +4,9 @@
 
 """Minimal example of toggling multiple lines."""
 
-import gpiod
 import time
 
+import gpiod
 from gpiod.line import Direction, Value
 
 
@@ -24,18 +24,14 @@ def toggle_multiple_line_values(
     request = gpiod.request_lines(
         chip_path,
         consumer="toggle-multiple-line-values",
-        config={
-            tuple(line_values.keys()): gpiod.LineSettings(direction=Direction.OUTPUT)
-        },
+        config={line_values.keys(): gpiod.LineSettings(direction=Direction.OUTPUT)},
         output_values=line_values,
     )
 
     while True:
-        print(
-            " ".join("{}={}".format(l, value_str[v]) for (l, v) in line_values.items())
-        )
+        print(" ".join(f"{l}={value_str[v]}" for (l, v) in line_values.items()))  # noqa: E741
         time.sleep(1)
-        for l, v in line_values.items():
+        for l, v in line_values.items():  # noqa: E741
             line_values[l] = toggle_value(v)
         request.set_values(line_values)
 
diff --git a/bindings/python/examples/watch_line_rising.py b/bindings/python/examples/watch_line_rising.py
index 2f7f25f..59977c4 100755
--- a/bindings/python/examples/watch_line_rising.py
+++ b/bindings/python/examples/watch_line_rising.py
@@ -5,7 +5,6 @@
 """Minimal example of watching for rising edges on a single line."""
 
 import gpiod
-
 from gpiod.line import Edge
 
 
@@ -19,9 +18,9 @@ def watch_line_rising(chip_path: str, line_offset: int) -> None:
             # Blocks until at least one event is available
             for event in request.read_edge_events():
                 print(
-                    "line: {}  type: Rising   event #{}".format(
-                        event.line_offset, event.line_seqno
-                    )
+                    f"line: {event.line_offset}"
+                    "  type: Rising"
+                    f"  event #{event.line_seqno}"
                 )
 
 
diff --git a/bindings/python/examples/watch_line_value.py b/bindings/python/examples/watch_line_value.py
index 9b84d29..3140ea2 100755
--- a/bindings/python/examples/watch_line_value.py
+++ b/bindings/python/examples/watch_line_value.py
@@ -4,9 +4,9 @@
 
 """Minimal example of watching for edges on a single line."""
 
-import gpiod
-
 from datetime import timedelta
+
+import gpiod
 from gpiod.edge_event import EdgeEvent
 from gpiod.line import Bias, Edge
 
@@ -37,9 +37,9 @@ def watch_line_value(chip_path: str, line_offset: int) -> None:
             # Blocks until at least one event is available
             for event in request.read_edge_events():
                 print(
-                    "line: {}  type: {:<7}  event #{}".format(
-                        event.line_offset, edge_type_str(event), event.line_seqno
-                    )
+                    f"line: {event.line_offset}"
+                    f"  type: {edge_type_str(event):<7}"
+                    f"  event #{event.line_seqno}"
                 )
 
 
diff --git a/bindings/python/examples/watch_multiple_line_values.py b/bindings/python/examples/watch_multiple_line_values.py
index d0ee35a..2c308bb 100755
--- a/bindings/python/examples/watch_multiple_line_values.py
+++ b/bindings/python/examples/watch_multiple_line_values.py
@@ -23,17 +23,15 @@ def watch_multiple_line_values(chip_path: str, line_offsets: Iterable[int]) -> N
     with gpiod.request_lines(
         chip_path,
         consumer="watch-multiple-line-values",
-        config={tuple(line_offsets): gpiod.LineSettings(edge_detection=Edge.BOTH)},
+        config={line_offsets: gpiod.LineSettings(edge_detection=Edge.BOTH)},
     ) as request:
         while True:
             for event in request.read_edge_events():
                 print(
-                    "offset: {}  type: {:<7}  event #{}  line event #{}".format(
-                        event.line_offset,
-                        edge_type_str(event),
-                        event.global_seqno,
-                        event.line_seqno,
-                    )
+                    f"offset: {event.line_offset}"
+                    f"  type: {edge_type_str(event):<7}"
+                    f"  event #{event.global_seqno}"
+                    f"  line event #{event.line_seqno}"
                 )
 
 
-- 
2.43.0


  parent reply	other threads:[~2026-04-01  0:18 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-01  0:14 [libgpiod][PATCH 1/9] bindings: python: build_tests: do not fallback to distutils Vincent Fazio
2026-04-01  0:14 ` [libgpiod][PATCH 2/9] bindings: python: build_tests: simplify the Distribution Vincent Fazio
2026-04-01  0:14 ` [libgpiod][PATCH 3/9] bindings: python: setup: add type annotations Vincent Fazio
2026-04-01  0:14 ` [libgpiod][PATCH 4/9] bindings: python: setup: apply linter recommendations Vincent Fazio
2026-04-01  0:14 ` [libgpiod][PATCH 5/9] bindings: python: setup: use logging module Vincent Fazio
2026-04-01  0:14 ` [libgpiod][PATCH 6/9] bindings: python: examples: add type annotations Vincent Fazio
2026-04-01  0:14 ` Vincent Fazio [this message]
2026-04-01  0:14 ` [libgpiod][PATCH 8/9] bindings: python: add a lint dependency group Vincent Fazio
2026-04-01  0:14 ` [libgpiod][PATCH 9/9] bindings: python: update linter configuration Vincent Fazio
2026-04-02 14:37   ` Bartosz Golaszewski
2026-04-02 15:55     ` Vincent Fazio
2026-04-02 16:42       ` Bartosz Golaszewski
2026-04-02 17:01         ` Vincent Fazio
2026-04-03  9:02           ` Bartosz Golaszewski
2026-04-03 13:09             ` Vincent Fazio
2026-04-03  9:01 ` [libgpiod][PATCH 1/9] bindings: python: build_tests: do not fallback to distutils Bartosz Golaszewski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260401001459.19159-7-vfazio@gmail.com \
    --to=vfazio@gmail.com \
    --cc=linux-gpio@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.