diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 70ade69..01b4da6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -3,10 +3,6 @@ # SPDX-License-Identifier: Unlicense repos: - - repo: https://github.com/python/black - rev: 23.3.0 - hooks: - - id: black - repo: https://github.com/fsfe/reuse-tool rev: v1.1.2 hooks: @@ -17,26 +13,9 @@ repos: - id: check-yaml - id: end-of-file-fixer - id: trailing-whitespace - - repo: https://github.com/pycqa/pylint - rev: v2.17.4 + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.3.2 hooks: - - id: pylint - name: pylint (library code) - types: [python] - args: - - --disable=consider-using-f-string - exclude: "^(docs/|examples/|tests/|setup.py$)" - - id: pylint - name: pylint (example code) - description: Run pylint rules on "examples/*.py" files - types: [python] - files: "^examples/" - args: - - --disable=missing-docstring,invalid-name,consider-using-f-string,duplicate-code - - id: pylint - name: pylint (test code) - description: Run pylint rules on "tests/*.py" files - types: [python] - files: "^tests/" - args: - - --disable=missing-docstring,consider-using-f-string,duplicate-code + - id: ruff + args: [ "--select", "I", "--fix" ] + - id: ruff-format diff --git a/README.rst b/README.rst index 424a035..b5539ba 100644 --- a/README.rst +++ b/README.rst @@ -13,9 +13,9 @@ Introduction :target: https://github.com/adafruit/Adafruit_CircuitPython_Display_Text/actions/ :alt: Build Status -.. image:: https://img.shields.io/badge/code%20style-black-000000.svg - :target: https://github.com/psf/black - :alt: Code Style: Black +.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json + :target: https://github.com/astral-sh/ruff + :alt: Code Style: Ruff Displays text using CircuitPython's displayio. diff --git a/adafruit_display_text/__init__.py b/adafruit_display_text/__init__.py index be32a1e..38de05b 100755 --- a/adafruit_display_text/__init__.py +++ b/adafruit_display_text/__init__.py @@ -13,7 +13,8 @@ from displayio import Group, Palette try: - from typing import Optional, List, Tuple + from typing import List, Optional, Tuple + from fontio import FontProtocol except ImportError: pass diff --git a/adafruit_display_text/bitmap_label.py b/adafruit_display_text/bitmap_label.py index d25b3fd..1cf1a3b 100755 --- a/adafruit_display_text/bitmap_label.py +++ b/adafruit_display_text/bitmap_label.py @@ -27,6 +27,7 @@ __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_Display_Text.git" import displayio + from adafruit_display_text import LabelBase try: @@ -37,6 +38,7 @@ try: from typing import Optional, Tuple + from fontio import FontProtocol except ImportError: pass @@ -294,9 +296,9 @@ def _text_bounding_box( lines = 1 - xposition = ( - x_start - ) = yposition = y_start = 0 # starting x and y position (left margin) + xposition = x_start = yposition = y_start = ( + 0 # starting x and y position (left margin) + ) left = None right = x_start diff --git a/adafruit_display_text/label.py b/adafruit_display_text/label.py index 775845c..70b3d3b 100755 --- a/adafruit_display_text/label.py +++ b/adafruit_display_text/label.py @@ -27,10 +27,12 @@ from displayio import Bitmap, Palette, TileGrid + from adafruit_display_text import LabelBase try: from typing import Optional, Tuple + from fontio import FontProtocol except ImportError: pass diff --git a/adafruit_display_text/outlined_label.py b/adafruit_display_text/outlined_label.py index 1c66a99..5571993 100644 --- a/adafruit_display_text/outlined_label.py +++ b/adafruit_display_text/outlined_label.py @@ -22,15 +22,18 @@ https://circuitpython.org/downloads """ + __version__ = "0.0.0+auto.0" __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_Display_Text.git" import bitmaptools -from displayio import Palette, Bitmap +from displayio import Bitmap, Palette + from adafruit_display_text import bitmap_label try: from typing import Optional, Tuple, Union + from fontio import FontProtocol except ImportError: pass @@ -56,7 +59,7 @@ def __init__( padding_bottom: Optional[int] = None, padding_left: Optional[int] = None, padding_right: Optional[int] = None, - **kwargs + **kwargs, ): if padding_top is None: padding_top = outline_size + 0 @@ -73,7 +76,7 @@ def __init__( padding_bottom=padding_bottom, padding_left=padding_left, padding_right=padding_right, - **kwargs + **kwargs, ) _background_color = self._palette[0] diff --git a/adafruit_display_text/scrolling_label.py b/adafruit_display_text/scrolling_label.py index 91206ec..c51b26b 100644 --- a/adafruit_display_text/scrolling_label.py +++ b/adafruit_display_text/scrolling_label.py @@ -27,10 +27,12 @@ __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_Display_Text.git" import time + from adafruit_display_text import bitmap_label try: from typing import Optional + from fontio import FontProtocol except ImportError: pass @@ -58,7 +60,7 @@ def __init__( text: Optional[str] = "", animate_time: Optional[float] = 0.3, current_index: Optional[int] = 0, - **kwargs + **kwargs, ) -> None: super().__init__(font, **kwargs) self.animate_time = animate_time diff --git a/docs/conf.py b/docs/conf.py index a355fd3..4d4326a 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -4,9 +4,11 @@ # # SPDX-License-Identifier: MIT +import datetime import os import sys -import datetime + +import sphinx_rtd_theme sys.path.insert(0, os.path.abspath("..")) @@ -101,7 +103,6 @@ # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -import sphinx_rtd_theme html_theme = "sphinx_rtd_theme" html_theme_path = [sphinx_rtd_theme.get_html_theme_path(), "."] diff --git a/examples/display_text_advance_example.py b/examples/display_text_advance_example.py index 38072c7..0f3818f 100644 --- a/examples/display_text_advance_example.py +++ b/examples/display_text_advance_example.py @@ -7,12 +7,14 @@ """ import time + import board import displayio -import terminalio import fontio +import terminalio from adafruit_bitmap_font import bitmap_font -from adafruit_display_text import label, bitmap_label + +from adafruit_display_text import bitmap_label, label display = board.DISPLAY main_group = displayio.Group() diff --git a/examples/display_text_anchored_position.py b/examples/display_text_anchored_position.py index 9fe48ff..9dbae99 100644 --- a/examples/display_text_anchored_position.py +++ b/examples/display_text_anchored_position.py @@ -4,9 +4,11 @@ """ This examples shows the use of anchor_point and anchored_position. """ + import board -import terminalio import displayio +import terminalio + from adafruit_display_text import label DISPLAY_WIDTH = 320 diff --git a/examples/display_text_background_color.py b/examples/display_text_background_color.py index 4dfa1fc..00949f7 100644 --- a/examples/display_text_background_color.py +++ b/examples/display_text_background_color.py @@ -4,9 +4,12 @@ """ This example shows the use color and background_color """ + import time + import board import terminalio + from adafruit_display_text import label text = " Color Background Hello world" diff --git a/examples/display_text_background_color_padding.py b/examples/display_text_background_color_padding.py index 8b9e29e..a5832fd 100755 --- a/examples/display_text_background_color_padding.py +++ b/examples/display_text_background_color_padding.py @@ -4,13 +4,14 @@ """ This example shows the use color and background_color """ + import time + import board import displayio - from adafruit_bitmap_font import bitmap_font -from adafruit_display_text import label +from adafruit_display_text import label # Setup the SPI display if "DISPLAY" in dir(board): diff --git a/examples/display_text_bitmap_label_simpletest.py b/examples/display_text_bitmap_label_simpletest.py index 49b20b9..9009497 100644 --- a/examples/display_text_bitmap_label_simpletest.py +++ b/examples/display_text_bitmap_label_simpletest.py @@ -3,8 +3,8 @@ import board import terminalio -from adafruit_display_text import bitmap_label +from adafruit_display_text import bitmap_label text = "Hello world" text_area = bitmap_label.Label(terminalio.FONT, text=text) diff --git a/examples/display_text_label_align_baseline_comparison.py b/examples/display_text_label_align_baseline_comparison.py index 6ebe843..9d08fa8 100644 --- a/examples/display_text_label_align_baseline_comparison.py +++ b/examples/display_text_label_align_baseline_comparison.py @@ -8,8 +8,8 @@ import board import displayio from adafruit_bitmap_font import bitmap_font -from adafruit_display_text import label +from adafruit_display_text import label display = board.DISPLAY diff --git a/examples/display_text_label_vs_bitmap_label_comparison.py b/examples/display_text_label_vs_bitmap_label_comparison.py index f4d107c..805cf7e 100644 --- a/examples/display_text_label_vs_bitmap_label_comparison.py +++ b/examples/display_text_label_vs_bitmap_label_comparison.py @@ -6,13 +6,13 @@ # pylint: disable=no-member import gc + import board import displayio import terminalio from adafruit_bitmap_font import bitmap_font -from adafruit_display_text import bitmap_label -from adafruit_display_text import label +from adafruit_display_text import bitmap_label, label # pylint: disable=no-member diff --git a/examples/display_text_magtag.py b/examples/display_text_magtag.py index bb59156..a90d0cf 100644 --- a/examples/display_text_magtag.py +++ b/examples/display_text_magtag.py @@ -5,10 +5,13 @@ Basic display_text.label example script adapted for use on MagTag. """ + import time + import board import displayio import terminalio + from adafruit_display_text import label # use built in display (PyPortal, PyGamer, PyBadge, CLUE, etc.) diff --git a/examples/display_text_matrixportal.py b/examples/display_text_matrixportal.py index fb0923f..e92a95a 100644 --- a/examples/display_text_matrixportal.py +++ b/examples/display_text_matrixportal.py @@ -10,8 +10,10 @@ Copy it from the current libraries bundle into the lib folder on your device. """ + import terminalio from adafruit_matrixportal.matrix import Matrix + from adafruit_display_text import label matrix = Matrix() diff --git a/examples/display_text_outlined_label_simpletest.py b/examples/display_text_outlined_label_simpletest.py index f82ca15..f698a64 100644 --- a/examples/display_text_outlined_label_simpletest.py +++ b/examples/display_text_outlined_label_simpletest.py @@ -3,6 +3,7 @@ import board import terminalio + from adafruit_display_text import outlined_label if board.DISPLAY.width <= 150: diff --git a/examples/display_text_pyportal.py b/examples/display_text_pyportal.py index 6b95bce..40f7b69 100644 --- a/examples/display_text_pyportal.py +++ b/examples/display_text_pyportal.py @@ -8,10 +8,11 @@ import os import time + import board import displayio - from adafruit_bitmap_font import bitmap_font + from adafruit_display_text.label import Label FONT_DIR = "/fonts/" diff --git a/examples/display_text_scrolling_label.py b/examples/display_text_scrolling_label.py index 02fd4cc..790043a 100644 --- a/examples/display_text_scrolling_label.py +++ b/examples/display_text_scrolling_label.py @@ -3,8 +3,8 @@ import board import terminalio -from adafruit_display_text.scrolling_label import ScrollingLabel +from adafruit_display_text.scrolling_label import ScrollingLabel text = "Hello world CircuitPython scrolling label" my_scrolling_label = ScrollingLabel( diff --git a/examples/display_text_simpletest.py b/examples/display_text_simpletest.py index 7a367bf..c9a6a21 100644 --- a/examples/display_text_simpletest.py +++ b/examples/display_text_simpletest.py @@ -3,8 +3,8 @@ import board import terminalio -from adafruit_display_text import label +from adafruit_display_text import label text = "Hello world" text_area = label.Label(terminalio.FONT, text=text) diff --git a/examples/display_text_textarea_boundingbox.py b/examples/display_text_textarea_boundingbox.py index 46047ea..3c0cbd7 100644 --- a/examples/display_text_textarea_boundingbox.py +++ b/examples/display_text_textarea_boundingbox.py @@ -2,11 +2,12 @@ # SPDX-License-Identifier: MIT import os + import board import displayio from adafruit_bitmap_font import bitmap_font -from adafruit_display_text.label import Label +from adafruit_display_text.label import Label # the current working directory (where this file is) cwd = ("/" + __file__).rsplit("/", 1)[0] diff --git a/examples/display_text_wrap_pixels_test.py b/examples/display_text_wrap_pixels_test.py index 29f6a17..8d8a9a7 100644 --- a/examples/display_text_wrap_pixels_test.py +++ b/examples/display_text_wrap_pixels_test.py @@ -10,6 +10,7 @@ import board import displayio import terminalio + from adafruit_display_text import label, wrap_text_to_pixels WRAP_WIDTH = 140 diff --git a/examples/display_text_wraptest.py b/examples/display_text_wraptest.py index 5286694..2ff8db0 100644 --- a/examples/display_text_wraptest.py +++ b/examples/display_text_wraptest.py @@ -5,8 +5,10 @@ This example illustrates how to use the wrap_text_to_lines helper function. """ + import board import terminalio + from adafruit_display_text import label, wrap_text_to_lines # use built in display (PyPortal, PyGamer, PyBadge, CLUE, etc.)