Skip to content

Commit f3aba9c

Browse files
authored
Setup Python typechecking (#4)
1 parent f05cfc0 commit f3aba9c

File tree

5 files changed

+37
-4
lines changed

5 files changed

+37
-4
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,4 @@ jobs:
3030
steps:
3131
- uses: actions/checkout@v4
3232
- uses: astral-sh/setup-uv@v6
33+
- run: uv run ty check

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ dev = [
2222
"pytest-lsp==1.0.0b2",
2323
"pytest>=8.4.1",
2424
"ruff>=0.12.1",
25+
"ty>=0.0.1a18",
2526
]
2627

2728
[build-system]

src/marimo_lsp/server.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,10 @@ async def serialize(args: SerializeRequest):
131131
header=Header(**(raw.get("header") or {})),
132132
version=raw.get("version", None),
133133
cells=[CellDef(**cell) for cell in raw["cells"]],
134-
violations=[Violation(**v) for v in raw["violations"]],
134+
violations=[
135+
Violation(description=v.pop("description"), **v)
136+
for v in raw["violations"]
137+
],
135138
valid=raw["valid"],
136139
)
137140
return {"source": MarimoConvert.from_ir(ir).to_py()}

src/marimo_lsp/session_manager.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from __future__ import annotations
44

5-
from typing import TYPE_CHECKING
5+
import typing
66
from uuid import uuid4
77

88
from marimo._config.manager import (
@@ -16,7 +16,8 @@
1616
from marimo_lsp.loggers import get_logger
1717
from marimo_lsp.session_consumer import LspSessionConsumer
1818

19-
if TYPE_CHECKING:
19+
if typing.TYPE_CHECKING:
20+
from marimo._server.file_manager import AppFileManager
2021
from pygls.lsp.server import LanguageServer
2122

2223

@@ -89,7 +90,7 @@ def create_session(self, *, server: LanguageServer, notebook_uri: str) -> Sessio
8990
session_consumer=LspSessionConsumer(server, notebook_uri),
9091
queue_manager=queue_manager,
9192
kernel_manager=kernel_manager,
92-
app_file_manager=app_file_manager,
93+
app_file_manager=typing.cast("AppFileManager", app_file_manager),
9394
config_manager=config_manager,
9495
ttl_seconds=0, # No TTL for LSP
9596
)

uv.lock

Lines changed: 27 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)