public inbox for linux-gpio@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox