diff --git a/docs/blog/snippets/2022-12-07-responsive-app-background-task/nonblocking01.py b/docs/blog/snippets/2022-12-07-responsive-app-background-task/nonblocking01.py index 20f2daba8..21e1760aa 100644 --- a/docs/blog/snippets/2022-12-07-responsive-app-background-task/nonblocking01.py +++ b/docs/blog/snippets/2022-12-07-responsive-app-background-task/nonblocking01.py @@ -1,5 +1,4 @@ import asyncio -import time from random import randint from textual.app import App, ComposeResult diff --git a/docs/examples/events/on_decorator01.py b/docs/examples/events/on_decorator01.py index ac8e2ccd2..6612d6ad6 100644 --- a/docs/examples/events/on_decorator01.py +++ b/docs/examples/events/on_decorator01.py @@ -1,4 +1,3 @@ -from textual import on from textual.app import App, ComposeResult from textual.widgets import Button diff --git a/docs/examples/events/prevent.py b/docs/examples/events/prevent.py index 39fe437c2..61e48780d 100644 --- a/docs/examples/events/prevent.py +++ b/docs/examples/events/prevent.py @@ -1,5 +1,4 @@ from textual.app import App, ComposeResult -from textual.containers import Horizontal from textual.widgets import Button, Input diff --git a/docs/examples/guide/reactivity/validate01.py b/docs/examples/guide/reactivity/validate01.py index 65d8113c0..e6ac1a75f 100644 --- a/docs/examples/guide/reactivity/validate01.py +++ b/docs/examples/guide/reactivity/validate01.py @@ -30,7 +30,7 @@ class ValidateApp(App): self.count += 1 else: self.count -= 1 - self.query_one(RichLog).write(f"{self.count=}") + self.query_one(RichLog).write(f"count = {self.count}") if __name__ == "__main__": diff --git a/docs/examples/styles/padding_all.py b/docs/examples/styles/padding_all.py index c857c26c1..01f1ac6a7 100644 --- a/docs/examples/styles/padding_all.py +++ b/docs/examples/styles/padding_all.py @@ -1,5 +1,5 @@ from textual.app import App -from textual.containers import Container, Grid +from textual.containers import Grid from textual.widgets import Placeholder diff --git a/docs/examples/widgets/content_switcher.py b/docs/examples/widgets/content_switcher.py index 82cb43aac..8e235fe56 100644 --- a/docs/examples/widgets/content_switcher.py +++ b/docs/examples/widgets/content_switcher.py @@ -1,5 +1,3 @@ -from rich.align import VerticalCenter - from textual.app import App, ComposeResult from textual.containers import Horizontal, VerticalScroll from textual.widgets import Button, ContentSwitcher, DataTable, Markdown diff --git a/src/textual/_parser.py b/src/textual/_parser.py index a1a187da4..812e06388 100644 --- a/src/textual/_parser.py +++ b/src/textual/_parser.py @@ -165,8 +165,6 @@ if __name__ == "__main__": test_parser = TestParser() - import time - for n in range(0, len(data), 5): for token in test_parser.feed(data[n : n + 5]): print(token) diff --git a/src/textual/_types.py b/src/textual/_types.py index 669950c5a..b1ad7972f 100644 --- a/src/textual/_types.py +++ b/src/textual/_types.py @@ -1,12 +1,6 @@ from typing import TYPE_CHECKING, Any, Awaitable, Callable, List, Union -from typing_extensions import ( - Literal, - Protocol, - SupportsIndex, - get_args, - runtime_checkable, -) +from typing_extensions import Protocol if TYPE_CHECKING: from rich.segment import Segment diff --git a/src/textual/css/_style_properties.py b/src/textual/css/_style_properties.py index 9667e97c6..7ad26dbbf 100644 --- a/src/textual/css/_style_properties.py +++ b/src/textual/css/_style_properties.py @@ -47,7 +47,7 @@ from .transition import Transition if TYPE_CHECKING: from .._layout import Layout - from .styles import Styles, StylesBase + from .styles import StylesBase from .types import AlignHorizontal, AlignVertical, DockEdge, EdgeType diff --git a/src/textual/document/_document.py b/src/textual/document/_document.py index 6fa234191..783a829e9 100644 --- a/src/textual/document/_document.py +++ b/src/textual/document/_document.py @@ -5,12 +5,13 @@ from dataclasses import dataclass from functools import lru_cache from typing import TYPE_CHECKING, NamedTuple, Tuple, overload +from typing_extensions import Literal, get_args + if TYPE_CHECKING: from tree_sitter import Node from tree_sitter.binding import Query from textual._cells import cell_len -from textual._types import Literal, get_args from textual.geometry import Size Newline = Literal["\r\n", "\n", "\r"] diff --git a/src/textual/drivers/_input_reader_linux.py b/src/textual/drivers/_input_reader_linux.py index 82c032e0b..04604d820 100644 --- a/src/textual/drivers/_input_reader_linux.py +++ b/src/textual/drivers/_input_reader_linux.py @@ -4,8 +4,6 @@ import sys from threading import Event from typing import Iterator -from textual import log - class InputReader: """Read input from stdin.""" diff --git a/src/textual/drivers/linux_driver.py b/src/textual/drivers/linux_driver.py index c64f9dcdd..cfc0c5d09 100644 --- a/src/textual/drivers/linux_driver.py +++ b/src/textual/drivers/linux_driver.py @@ -14,7 +14,7 @@ from typing import TYPE_CHECKING, Any import rich.repr import rich.traceback -from .. import events, log +from .. import events from .._xterm_parser import XTermParser from ..driver import Driver from ..geometry import Size diff --git a/src/textual/message_pump.py b/src/textual/message_pump.py index 673d75079..33c80fa80 100644 --- a/src/textual/message_pump.py +++ b/src/textual/message_pump.py @@ -26,7 +26,6 @@ from ._context import message_hook as message_hook_context_var from ._context import prevent_message_types_stack from ._on import OnNoWidget from ._time import time -from ._types import CallbackType from .case import camel_to_snake from .css.match import match from .errors import DuplicateKeyHandlers diff --git a/src/textual/widgets/_tabs.py b/src/textual/widgets/_tabs.py index ab54de158..e8b8b8378 100644 --- a/src/textual/widgets/_tabs.py +++ b/src/textual/widgets/_tabs.py @@ -1,7 +1,6 @@ from __future__ import annotations import asyncio -from asyncio import create_task from dataclasses import dataclass from typing import ClassVar diff --git a/src/textual/widgets/_text_area.py b/src/textual/widgets/_text_area.py index 0fbcba4c3..20b30ff7a 100644 --- a/src/textual/widgets/_text_area.py +++ b/src/textual/widgets/_text_area.py @@ -9,6 +9,7 @@ from typing import TYPE_CHECKING, Any, Iterable, Optional, Tuple from rich.style import Style from rich.text import Text +from typing_extensions import Literal, Protocol, runtime_checkable from textual._text_area_theme import TextAreaTheme from textual._tree_sitter import TREE_SITTER @@ -30,11 +31,9 @@ from textual.expand_tabs import expand_tabs_inline if TYPE_CHECKING: from tree_sitter import Language - from tree_sitter.binding import Query from textual import events, log from textual._cells import cell_len -from textual._types import Literal, Protocol, runtime_checkable from textual.binding import Binding from textual.events import Message, MouseEvent from textual.geometry import Offset, Region, Size, Spacing, clamp diff --git a/tests/css/test_programmatic_style_changes.py b/tests/css/test_programmatic_style_changes.py index f15ecdd55..c81d88fa3 100644 --- a/tests/css/test_programmatic_style_changes.py +++ b/tests/css/test_programmatic_style_changes.py @@ -2,7 +2,6 @@ import pytest from textual.app import App from textual.containers import Grid -from textual.screen import Screen from textual.widgets import Label diff --git a/tests/css/test_stylesheet.py b/tests/css/test_stylesheet.py index abb1afe91..3d0113811 100644 --- a/tests/css/test_stylesheet.py +++ b/tests/css/test_stylesheet.py @@ -1,5 +1,4 @@ from contextlib import nullcontext as does_not_raise -from typing import Any import pytest diff --git a/tests/input/test_input_validation.py b/tests/input/test_input_validation.py index cfbdf3292..c260a4318 100644 --- a/tests/input/test_input_validation.py +++ b/tests/input/test_input_validation.py @@ -2,7 +2,6 @@ import pytest from textual import on from textual.app import App, ComposeResult -from textual.events import Blur from textual.validation import Number, ValidationResult from textual.widgets import Input diff --git a/tests/test_reactive.py b/tests/test_reactive.py index 9ab1af192..8ee7861a2 100644 --- a/tests/test_reactive.py +++ b/tests/test_reactive.py @@ -298,8 +298,6 @@ async def test_reactive_inheritance(): class Tertiary(Secondary): baz = reactive("baz") - from rich import print - primary = Primary() secondary = Secondary() tertiary = Tertiary() diff --git a/tests/test_screens.py b/tests/test_screens.py index 2163a715e..83fcde493 100644 --- a/tests/test_screens.py +++ b/tests/test_screens.py @@ -6,10 +6,10 @@ import pytest from textual import work from textual.app import App, ComposeResult, ScreenStackError -from textual.events import MouseMove, MouseScrollDown, MouseScrollUp +from textual.events import MouseMove from textual.geometry import Offset from textual.screen import Screen -from textual.widgets import Button, DataTable, Input, Label +from textual.widgets import Button, Input, Label from textual.worker import NoActiveWorker skip_py310 = pytest.mark.skipif( diff --git a/tests/test_style_inheritance.py b/tests/test_style_inheritance.py index b6e264c9d..72b631a94 100644 --- a/tests/test_style_inheritance.py +++ b/tests/test_style_inheritance.py @@ -1,5 +1,3 @@ -from rich.style import Style - from textual.app import App, ComposeResult from textual.widgets import Button, Static