The following issues were found

src/textual/_animator.py
22 issues
Attempted relative import beyond top-level package
Error

Line: 11 Column: 1

              
from dataclasses import dataclass

from ._timer import Timer
from ._types import MessageTarget

if sys.version_info >= (3, 8):
    from typing import Protocol
else:

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 12 Column: 1

              from dataclasses import dataclass

from ._timer import Timer
from ._types import MessageTarget

if sys.version_info >= (3, 8):
    from typing import Protocol
else:
    from typing_extensions import Protocol

            

Reported by Pylint.

Unable to import 'typing_extensions'
Error

Line: 17 Column: 5

              if sys.version_info >= (3, 8):
    from typing import Protocol
else:
    from typing_extensions import Protocol


EasingFunction = Callable[[float], float]

T = TypeVar("T")

            

Reported by Pylint.

Unused start imported from tracemalloc
Error

Line: 6 Column: 1

              import asyncio
import sys
from time import time
from tracemalloc import start
from typing import Callable, TypeVar

from dataclasses import dataclass

from ._timer import Timer

            

Reported by Pylint.

Redefining name 'time' from outer scope (line 5)
Error

Line: 53 Column: 24

                  end_value: float | Animatable
    easing_function: EasingFunction

    def __call__(self, time: float) -> bool:
        def blend_float(start: float, end: float, factor: float) -> float:
            return start + (end - start) * factor

        AnimatableT = TypeVar("AnimatableT", bound=Animatable)


            

Reported by Pylint.

Redefining name 'start' from outer scope (line 6)
Error

Line: 54 Column: 25

                  easing_function: EasingFunction

    def __call__(self, time: float) -> bool:
        def blend_float(start: float, end: float, factor: float) -> float:
            return start + (end - start) * factor

        AnimatableT = TypeVar("AnimatableT", bound=Animatable)

        def blend(start: AnimatableT, end: AnimatableT, factor: float) -> AnimatableT:

            

Reported by Pylint.

Redefining name 'start' from outer scope (line 6)
Error

Line: 59 Column: 19

              
        AnimatableT = TypeVar("AnimatableT", bound=Animatable)

        def blend(start: AnimatableT, end: AnimatableT, factor: float) -> AnimatableT:
            return start.blend(end, factor)

        blend_function = (
            blend_float if isinstance(self.start_value, (int, float)) else blend
        )

            

Reported by Pylint.

Unused variable 'blend_function'
Error

Line: 62 Column: 9

                      def blend(start: AnimatableT, end: AnimatableT, factor: float) -> AnimatableT:
            return start.blend(end, factor)

        blend_function = (
            blend_float if isinstance(self.start_value, (int, float)) else blend
        )

        if self.duration == 0:
            value = self.end_value

            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              from __future__ import annotations

import asyncio
import sys
from time import time
from tracemalloc import start
from typing import Callable, TypeVar

from dataclasses import dataclass

            

Reported by Pylint.

Imports from package typing are not grouped
Error

Line: 15 Column: 5

              from ._types import MessageTarget

if sys.version_info >= (3, 8):
    from typing import Protocol
else:
    from typing_extensions import Protocol


EasingFunction = Callable[[float], float]

            

Reported by Pylint.

src/textual/layouts/vertical.py
21 issues
Unable to import 'rich.console'
Error

Line: 5 Column: 1

              
from typing import Iterable

from rich.console import Console

from .. import log
from ..geometry import Offset, Region, Size
from ..layout import Layout
from ..layout_map import LayoutMap

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 7 Column: 1

              
from rich.console import Console

from .. import log
from ..geometry import Offset, Region, Size
from ..layout import Layout
from ..layout_map import LayoutMap
from ..widget import Widget


            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 8 Column: 1

              from rich.console import Console

from .. import log
from ..geometry import Offset, Region, Size
from ..layout import Layout
from ..layout_map import LayoutMap
from ..widget import Widget



            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 9 Column: 1

              
from .. import log
from ..geometry import Offset, Region, Size
from ..layout import Layout
from ..layout_map import LayoutMap
from ..widget import Widget


class VerticalLayout(Layout):

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 10 Column: 1

              from .. import log
from ..geometry import Offset, Region, Size
from ..layout import Layout
from ..layout_map import LayoutMap
from ..widget import Widget


class VerticalLayout(Layout):
    def __init__(self, *, z: int = 0, gutter: tuple[int, int] | None = None):

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 11 Column: 1

              from ..geometry import Offset, Region, Size
from ..layout import Layout
from ..layout_map import LayoutMap
from ..widget import Widget


class VerticalLayout(Layout):
    def __init__(self, *, z: int = 0, gutter: tuple[int, int] | None = None):
        self.z = z

            

Reported by Pylint.

Unused import log
Error

Line: 7 Column: 1

              
from rich.console import Console

from .. import log
from ..geometry import Offset, Region, Size
from ..layout import Layout
from ..layout_map import LayoutMap
from ..widget import Widget


            

Reported by Pylint.

Unused variable 'height'
Error

Line: 34 Column: 16

                      self, console: Console, size: Size, viewport: Region, scroll: Offset
    ) -> LayoutMap:
        index = 0
        width, height = size
        gutter_height, gutter_width = self.gutter
        render_width = width - gutter_width * 2
        x = gutter_width
        y = gutter_height
        map: LayoutMap = LayoutMap(size)

            

Reported by Pylint.

Redefining built-in 'map'
Error

Line: 39 Column: 9

                      render_width = width - gutter_width * 2
        x = gutter_width
        y = gutter_height
        map: LayoutMap = LayoutMap(size)

        def add_widget(widget: Widget, region: Region, clip: Region) -> None:
            map.add_widget(console, widget, region, (self.z, index), clip)

        for widget in self._widgets:

            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              from __future__ import annotations

from typing import Iterable

from rich.console import Console

from .. import log
from ..geometry import Offset, Region, Size
from ..layout import Layout

            

Reported by Pylint.

src/textual/widgets/_placeholder.py
20 issues
Unable to import 'rich'
Error

Line: 3 Column: 1

              from __future__ import annotations

from rich import box
from rich.align import Align
from rich.console import RenderableType
from rich.panel import Panel
from rich.pretty import Pretty
import rich.repr


            

Reported by Pylint.

Unable to import 'rich.align'
Error

Line: 4 Column: 1

              from __future__ import annotations

from rich import box
from rich.align import Align
from rich.console import RenderableType
from rich.panel import Panel
from rich.pretty import Pretty
import rich.repr


            

Reported by Pylint.

Unable to import 'rich.console'
Error

Line: 5 Column: 1

              
from rich import box
from rich.align import Align
from rich.console import RenderableType
from rich.panel import Panel
from rich.pretty import Pretty
import rich.repr

from logging import getLogger

            

Reported by Pylint.

Unable to import 'rich.panel'
Error

Line: 6 Column: 1

              from rich import box
from rich.align import Align
from rich.console import RenderableType
from rich.panel import Panel
from rich.pretty import Pretty
import rich.repr

from logging import getLogger


            

Reported by Pylint.

Unable to import 'rich.pretty'
Error

Line: 7 Column: 1

              from rich.align import Align
from rich.console import RenderableType
from rich.panel import Panel
from rich.pretty import Pretty
import rich.repr

from logging import getLogger

from .. import events

            

Reported by Pylint.

Unable to import 'rich.repr'
Error

Line: 8 Column: 1

              from rich.console import RenderableType
from rich.panel import Panel
from rich.pretty import Pretty
import rich.repr

from logging import getLogger

from .. import events
from ..widget import Reactive, Widget

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 12 Column: 1

              
from logging import getLogger

from .. import events
from ..widget import Reactive, Widget

log = getLogger("rich")



            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 13 Column: 1

              from logging import getLogger

from .. import events
from ..widget import Reactive, Widget

log = getLogger("rich")


@rich.repr.auto(angular=False)

            

Reported by Pylint.

Unused argument 'event'
Error

Line: 47 Column: 30

                          height=self.height,
        )

    async def on_focus(self, event: events.Focus) -> None:
        self.has_focus = True

    async def on_blur(self, event: events.Blur) -> None:
        self.has_focus = False


            

Reported by Pylint.

Unused argument 'event'
Error

Line: 50 Column: 29

                  async def on_focus(self, event: events.Focus) -> None:
        self.has_focus = True

    async def on_blur(self, event: events.Blur) -> None:
        self.has_focus = False

    async def on_enter(self, event: events.Enter) -> None:
        self.mouse_over = True


            

Reported by Pylint.

src/textual/layouts/dock.py
20 issues
Unable to import 'rich.console'
Error

Line: 8 Column: 1

              from dataclasses import dataclass
from typing import Iterable, TYPE_CHECKING, Sequence

from rich.console import Console

from .._layout_resolve import layout_resolve
from ..geometry import Offset, Region, Size
from ..layout import Layout
from ..layout_map import LayoutMap

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 10 Column: 1

              
from rich.console import Console

from .._layout_resolve import layout_resolve
from ..geometry import Offset, Region, Size
from ..layout import Layout
from ..layout_map import LayoutMap

if sys.version_info >= (3, 8):

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 11 Column: 1

              from rich.console import Console

from .._layout_resolve import layout_resolve
from ..geometry import Offset, Region, Size
from ..layout import Layout
from ..layout_map import LayoutMap

if sys.version_info >= (3, 8):
    from typing import Literal

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 12 Column: 1

              
from .._layout_resolve import layout_resolve
from ..geometry import Offset, Region, Size
from ..layout import Layout
from ..layout_map import LayoutMap

if sys.version_info >= (3, 8):
    from typing import Literal
else:

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 13 Column: 1

              from .._layout_resolve import layout_resolve
from ..geometry import Offset, Region, Size
from ..layout import Layout
from ..layout_map import LayoutMap

if sys.version_info >= (3, 8):
    from typing import Literal
else:
    from typing_extensions import Literal

            

Reported by Pylint.

Unable to import 'typing_extensions'
Error

Line: 18 Column: 5

              if sys.version_info >= (3, 8):
    from typing import Literal
else:
    from typing_extensions import Literal


if TYPE_CHECKING:
    from ..widget import Widget


            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 22 Column: 5

              

if TYPE_CHECKING:
    from ..widget import Widget


DockEdge = Literal["top", "right", "bottom", "left"]



            

Reported by Pylint.

Redefining built-in 'map'
Error

Line: 55 Column: 9

                      self, console: Console, size: Size, viewport: Region, scroll: Offset
    ) -> LayoutMap:

        map: LayoutMap = LayoutMap(size)
        width, height = size
        layout_region = Region(0, 0, width, height)
        layers: dict[int, Region] = defaultdict(lambda: layout_region)

        def add_widget(widget: Widget, region: Region, order: tuple[int, ...]):

            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              from __future__ import annotations

import sys
from collections import defaultdict
from dataclasses import dataclass
from typing import Iterable, TYPE_CHECKING, Sequence

from rich.console import Console


            

Reported by Pylint.

Missing class docstring
Error

Line: 29 Column: 1

              

@dataclass
class DockOptions:
    size: int | None = None
    fraction: int = 1
    min_size: int = 1



            

Reported by Pylint.

src/textual/widgets/_button.py
19 issues
Unable to import 'rich.align'
Error

Line: 3 Column: 1

              from __future__ import annotations

from rich.align import Align
from rich.console import Console, ConsoleOptions, RenderResult, RenderableType
from rich.style import StyleType

from .. import events
from ..message import Message
from ..reactive import Reactive

            

Reported by Pylint.

Unable to import 'rich.console'
Error

Line: 4 Column: 1

              from __future__ import annotations

from rich.align import Align
from rich.console import Console, ConsoleOptions, RenderResult, RenderableType
from rich.style import StyleType

from .. import events
from ..message import Message
from ..reactive import Reactive

            

Reported by Pylint.

Unable to import 'rich.style'
Error

Line: 5 Column: 1

              
from rich.align import Align
from rich.console import Console, ConsoleOptions, RenderResult, RenderableType
from rich.style import StyleType

from .. import events
from ..message import Message
from ..reactive import Reactive
from ..widget import Widget

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 7 Column: 1

              from rich.console import Console, ConsoleOptions, RenderResult, RenderableType
from rich.style import StyleType

from .. import events
from ..message import Message
from ..reactive import Reactive
from ..widget import Widget



            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 8 Column: 1

              from rich.style import StyleType

from .. import events
from ..message import Message
from ..reactive import Reactive
from ..widget import Widget


class ButtonPressed(Message, bubble=True):

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 9 Column: 1

              
from .. import events
from ..message import Message
from ..reactive import Reactive
from ..widget import Widget


class ButtonPressed(Message, bubble=True):
    pass

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 10 Column: 1

              from .. import events
from ..message import Message
from ..reactive import Reactive
from ..widget import Widget


class ButtonPressed(Message, bubble=True):
    pass


            

Reported by Pylint.

Unused argument 'console'
Error

Line: 37 Column: 15

                      self.style = style

    def __rich_console__(
        self, console: Console, options: ConsoleOptions
    ) -> RenderResult:
        width = options.max_width
        height = options.height or 1

        yield Align.center(

            

Reported by Pylint.

Unused argument 'event'
Error

Line: 65 Column: 30

                  def render(self) -> RenderableType:
        return ButtonRenderable(self.label, style=self.button_style)

    async def on_click(self, event: events.Click) -> None:
        await self.emit(ButtonPressed(self))

            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              from __future__ import annotations

from rich.align import Align
from rich.console import Console, ConsoleOptions, RenderResult, RenderableType
from rich.style import StyleType

from .. import events
from ..message import Message
from ..reactive import Reactive

            

Reported by Pylint.

src/textual/_line_cache.py
18 issues
Unable to import 'rich.cells'
Error

Line: 6 Column: 1

              
from typing import Iterable

from rich.cells import cell_len
from rich.console import Console, ConsoleOptions, RenderableType, RenderResult
from rich.control import Control
from rich.segment import Segment
from rich.style import Style


            

Reported by Pylint.

Unable to import 'rich.console'
Error

Line: 7 Column: 1

              from typing import Iterable

from rich.cells import cell_len
from rich.console import Console, ConsoleOptions, RenderableType, RenderResult
from rich.control import Control
from rich.segment import Segment
from rich.style import Style

from ._loop import loop_last

            

Reported by Pylint.

Unable to import 'rich.control'
Error

Line: 8 Column: 1

              
from rich.cells import cell_len
from rich.console import Console, ConsoleOptions, RenderableType, RenderResult
from rich.control import Control
from rich.segment import Segment
from rich.style import Style

from ._loop import loop_last


            

Reported by Pylint.

Unable to import 'rich.segment'
Error

Line: 9 Column: 1

              from rich.cells import cell_len
from rich.console import Console, ConsoleOptions, RenderableType, RenderResult
from rich.control import Control
from rich.segment import Segment
from rich.style import Style

from ._loop import loop_last



            

Reported by Pylint.

Unable to import 'rich.style'
Error

Line: 10 Column: 1

              from rich.console import Console, ConsoleOptions, RenderableType, RenderResult
from rich.control import Control
from rich.segment import Segment
from rich.style import Style

from ._loop import loop_last


class LineCache:

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 12 Column: 1

              from rich.segment import Segment
from rich.style import Style

from ._loop import loop_last


class LineCache:
    def __init__(self, lines: list[list[Segment]]) -> None:
        self.lines = lines

            

Reported by Pylint.

Unused argument 'console'
Error

Line: 37 Column: 15

                      return any(self._dirty)

    def __rich_console__(
        self, console: Console, options: ConsoleOptions
    ) -> RenderResult:

        new_line = Segment.line()
        for line in self.lines:
            yield from line

            

Reported by Pylint.

Unused argument 'options'
Error

Line: 37 Column: 33

                      return any(self._dirty)

    def __rich_console__(
        self, console: Console, options: ConsoleOptions
    ) -> RenderResult:

        new_line = Segment.line()
        for line in self.lines:
            yield from line

            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              from __future__ import annotations


from typing import Iterable

from rich.cells import cell_len
from rich.console import Console, ConsoleOptions, RenderableType, RenderResult
from rich.control import Control
from rich.segment import Segment

            

Reported by Pylint.

Missing class docstring
Error

Line: 15 Column: 1

              from ._loop import loop_last


class LineCache:
    def __init__(self, lines: list[list[Segment]]) -> None:
        self.lines = lines
        self._dirty = [True] * len(self.lines)

    @classmethod

            

Reported by Pylint.

src/textual/_xterm_parser.py
16 issues
Attempted relative import beyond top-level package
Error

Line: 7 Column: 1

              import re
from typing import Callable, Generator

from . import events
from ._types import MessageTarget
from ._parser import Awaitable, Parser, TokenCallback
from ._ansi_sequences import ANSI_SEQUENCES



            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 8 Column: 1

              from typing import Callable, Generator

from . import events
from ._types import MessageTarget
from ._parser import Awaitable, Parser, TokenCallback
from ._ansi_sequences import ANSI_SEQUENCES


_re_mouse_event = re.compile("^" + re.escape("\x1b[") + r"(<?[\d;]+[mM]|M...)\Z")

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 9 Column: 1

              
from . import events
from ._types import MessageTarget
from ._parser import Awaitable, Parser, TokenCallback
from ._ansi_sequences import ANSI_SEQUENCES


_re_mouse_event = re.compile("^" + re.escape("\x1b[") + r"(<?[\d;]+[mM]|M...)\Z")


            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 10 Column: 1

              from . import events
from ._types import MessageTarget
from ._parser import Awaitable, Parser, TokenCallback
from ._ansi_sequences import ANSI_SEQUENCES


_re_mouse_event = re.compile("^" + re.escape("\x1b[") + r"(<?[\d;]+[mM]|M...)\Z")



            

Reported by Pylint.

No value for argument 'more_data' in constructor call
Error

Line: 104 Column: 14

              

if __name__ == "__main__":
    parser = XTermParser()

    import os
    import sys

    for token in parser.feed(sys.stdin.read(20)):

            

Reported by Pylint.

No value for argument 'sender' in constructor call
Error

Line: 104 Column: 14

              

if __name__ == "__main__":
    parser = XTermParser()

    import os
    import sys

    for token in parser.feed(sys.stdin.read(20)):

            

Reported by Pylint.

Unused import os
Error

Line: 106 Column: 5

              if __name__ == "__main__":
    parser = XTermParser()

    import os
    import sys

    for token in parser.feed(sys.stdin.read(20)):
        print(token)

            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              from __future__ import annotations


import re
from typing import Callable, Generator

from . import events
from ._types import MessageTarget
from ._parser import Awaitable, Parser, TokenCallback

            

Reported by Pylint.

Missing class docstring
Error

Line: 16 Column: 1

              _re_mouse_event = re.compile("^" + re.escape("\x1b[") + r"(<?[\d;]+[mM]|M...)\Z")


class XTermParser(Parser[events.Event]):

    _re_sgr_mouse = re.compile(r"\x1b\[<(\d+);(\d+);(\d+)([Mm])")

    def __init__(self, sender: MessageTarget, more_data: Callable[[], bool]) -> None:
        self.sender = sender

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 27 Column: 5

                      self.last_y = 0
        super().__init__()

    def parse_mouse_code(self, code: str, sender: MessageTarget) -> events.Event | None:
        sgr_match = self._re_sgr_mouse.match(code)
        if sgr_match:
            _buttons, _x, _y, state = sgr_match.groups()
            buttons = int(_buttons)
            button = (buttons + 1) & 3

            

Reported by Pylint.

src/textual/layout_map.py
16 issues
Unable to import 'rich.console'
Error

Line: 3 Column: 1

              from __future__ import annotations

from rich.console import Console

from typing import ItemsView, KeysView, ValuesView, NamedTuple

from .geometry import Region, Size

from .widget import Widget

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 7 Column: 1

              
from typing import ItemsView, KeysView, ValuesView, NamedTuple

from .geometry import Region, Size

from .widget import Widget


class RenderRegion(NamedTuple):

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 9 Column: 1

              
from .geometry import Region, Size

from .widget import Widget


class RenderRegion(NamedTuple):
    region: Region
    order: tuple[int, ...]

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 51 Column: 9

                      order: tuple[int, ...],
        clip: Region,
    ) -> None:
        from .view import View

        region += widget.layout_offset
        self.widgets[widget] = RenderRegion(region, order, clip)
        self.contents_region = self.contents_region.union(region)


            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              from __future__ import annotations

from rich.console import Console

from typing import ItemsView, KeysView, ValuesView, NamedTuple

from .geometry import Region, Size

from .widget import Widget

            

Reported by Pylint.

standard import "from typing import ItemsView, KeysView, ValuesView, NamedTuple" should be placed before "from rich.console import Console"
Error

Line: 5 Column: 1

              
from rich.console import Console

from typing import ItemsView, KeysView, ValuesView, NamedTuple

from .geometry import Region, Size

from .widget import Widget


            

Reported by Pylint.

Missing class docstring
Error

Line: 12 Column: 1

              from .widget import Widget


class RenderRegion(NamedTuple):
    region: Region
    order: tuple[int, ...]
    clip: Region



            

Reported by Pylint.

Missing class docstring
Error

Line: 18 Column: 1

                  clip: Region


class LayoutMap:
    def __init__(self, size: Size) -> None:
        self.size = size
        self.contents_region = Region(0, 0, 0, 0)
        self.widgets: dict[Widget, RenderRegion] = {}


            

Reported by Pylint.

Missing function or method docstring
Error

Line: 25 Column: 5

                      self.widgets: dict[Widget, RenderRegion] = {}

    @property
    def virtual_size(self) -> Size:
        return self.contents_region.size

    def __getitem__(self, widget: Widget) -> RenderRegion:
        return self.widgets[widget]


            

Reported by Pylint.

Missing function or method docstring
Error

Line: 31 Column: 5

                  def __getitem__(self, widget: Widget) -> RenderRegion:
        return self.widgets[widget]

    def items(self) -> ItemsView[Widget, RenderRegion]:
        return self.widgets.items()

    def keys(self) -> KeysView[Widget]:
        return self.widgets.keys()


            

Reported by Pylint.

src/textual/views/_dock_view.py
14 issues
Attempted relative import beyond top-level package
Error

Line: 4 Column: 1

              from __future__ import annotations
from typing import cast, Optional

from ..layouts.dock import DockLayout, Dock, DockEdge
from ..layouts.grid import GridLayout, GridAlign
from ..view import View
from ..widget import Widget



            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 5 Column: 1

              from typing import cast, Optional

from ..layouts.dock import DockLayout, Dock, DockEdge
from ..layouts.grid import GridLayout, GridAlign
from ..view import View
from ..widget import Widget


class DoNotSet:

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 6 Column: 1

              
from ..layouts.dock import DockLayout, Dock, DockEdge
from ..layouts.grid import GridLayout, GridAlign
from ..view import View
from ..widget import Widget


class DoNotSet:
    pass

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 7 Column: 1

              from ..layouts.dock import DockLayout, Dock, DockEdge
from ..layouts.grid import GridLayout, GridAlign
from ..view import View
from ..widget import Widget


class DoNotSet:
    pass


            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              from __future__ import annotations
from typing import cast, Optional

from ..layouts.dock import DockLayout, Dock, DockEdge
from ..layouts.grid import GridLayout, GridAlign
from ..view import View
from ..widget import Widget



            

Reported by Pylint.

Missing class docstring
Error

Line: 10 Column: 1

              from ..widget import Widget


class DoNotSet:
    pass


do_not_set = DoNotSet()


            

Reported by Pylint.

Too few public methods (0/2)
Error

Line: 10 Column: 1

              from ..widget import Widget


class DoNotSet:
    pass


do_not_set = DoNotSet()


            

Reported by Pylint.

Missing class docstring
Error

Line: 17 Column: 1

              do_not_set = DoNotSet()


class DockView(View):
    def __init__(self, name: str | None = None) -> None:
        super().__init__(layout=DockLayout(), name=name)

    async def dock(
        self,

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 21 Column: 5

                  def __init__(self, name: str | None = None) -> None:
        super().__init__(layout=DockLayout(), name=name)

    async def dock(
        self,
        *widgets: Widget,
        edge: DockEdge = "top",
        z: int = 0,
        size: int | None | DoNotSet = do_not_set,

            

Reported by Pylint.

Variable name "z" doesn't conform to snake_case naming style
Error

Line: 25 Column: 9

                      self,
        *widgets: Widget,
        edge: DockEdge = "top",
        z: int = 0,
        size: int | None | DoNotSet = do_not_set,
        name: str | None = None,
    ) -> None:

        dock = Dock(edge, widgets, z)

            

Reported by Pylint.

src/textual/reactive.py
13 issues
Attempted relative import beyond top-level package
Error

Line: 16 Column: 1

                  TYPE_CHECKING,
)

from . import log
from . import events

from ._callback import count_parameters, invoke
from ._types import MessageTarget


            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 17 Column: 1

              )

from . import log
from . import events

from ._callback import count_parameters, invoke
from ._types import MessageTarget

if TYPE_CHECKING:

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 19 Column: 1

              from . import log
from . import events

from ._callback import count_parameters, invoke
from ._types import MessageTarget

if TYPE_CHECKING:
    from .app import App
    from .widget import Widget

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 20 Column: 1

              from . import events

from ._callback import count_parameters, invoke
from ._types import MessageTarget

if TYPE_CHECKING:
    from .app import App
    from .widget import Widget


            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 23 Column: 5

              from ._types import MessageTarget

if TYPE_CHECKING:
    from .app import App
    from .widget import Widget

    Reactable = Union[Widget, App]



            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 24 Column: 5

              
if TYPE_CHECKING:
    from .app import App
    from .widget import Widget

    Reactable = Union[Widget, App]


ReactiveType = TypeVar("ReactiveType")

            

Reported by Pylint.

Unused import log
Error

Line: 16 Column: 1

                  TYPE_CHECKING,
)

from . import log
from . import events

from ._callback import count_parameters, invoke
from ._types import MessageTarget


            

Reported by Pylint.

Attribute 'name' defined outside __init__
Error

Line: 57 Column: 9

                              setattr(owner, "__computes", computes)
            computes.append(name)

        self.name = name
        self.internal_name = f"__{name}"
        setattr(owner, self.internal_name, self._default)

    def __get__(self, obj: Reactable, obj_type: type[object]) -> ReactiveType:
        return getattr(obj, self.internal_name)

            

Reported by Pylint.

Attribute 'internal_name' defined outside __init__
Error

Line: 58 Column: 9

                          computes.append(name)

        self.name = name
        self.internal_name = f"__{name}"
        setattr(owner, self.internal_name, self._default)

    def __get__(self, obj: Reactable, obj_type: type[object]) -> ReactiveType:
        return getattr(obj, self.internal_name)


            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              from __future__ import annotations

from inspect import isawaitable
from functools import partial
from typing import (
    Any,
    Awaitable,
    Callable,
    Generic,

            

Reported by Pylint.