Skip to content

Commit a09ff10

Browse files
committed
python: switch active LSP modules to ty
1 parent 31c79a6 commit a09ff10

5 files changed

Lines changed: 28 additions & 17 deletions

File tree

pkgs/modules/default.nix

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,7 @@ let
5353
python = pkgs.python313;
5454
pypkgs = pkgs.python313Packages;
5555
})
56-
(import ./pyright-extended {
57-
nodejs = pkgs-24_11.nodejs-18_x;
58-
})
59-
(import ./pyright)
56+
(import ./ty)
6057
(import ./ruff)
6158

6259
(import ./nodejs {

pkgs/modules/python-base/default.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ in
2828
description = ''
2929
Basic module for Python. Includes the interpreter and basic Replit
3030
configuration but nothing else. This may be combined with the
31-
pyright-extended module.
31+
ty module.
3232
'';
3333

3434
replit.packages = [

pkgs/modules/python/default.nix

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
{ python, pypkgs }:
22
{ pkgs-unstable
3-
, pkgs-24_11
4-
, pkgs-23_05
53
, lib
64
, ...
75
}:
@@ -60,11 +58,6 @@ let
6058
inherit pkgs python python-ld-library-path;
6159
};
6260

63-
pyright-extended = pkgs.callPackage ../../pyright-extended {
64-
nodejs = pkgs-24_11.nodejs-18_x;
65-
yapf = pypkgs.yapf;
66-
};
67-
6861
sitecustomize = pkgs.callPackage ./sitecustomize.nix { };
6962

7063
uv = pkgs.callPackage ./uv {
@@ -85,7 +78,7 @@ in
8578
name = "Python Tools";
8679
displayVersion = pythonVersion;
8780
description = ''
88-
Development tools for Python. Includes Python interpreter, Pip, Poetry, Pyright extended language server.
81+
Development tools for Python. Includes Python interpreter, Pip, Poetry, and the ty language server.
8982
'';
9083

9184
replit.packages = [
@@ -108,11 +101,11 @@ in
108101
];
109102
};
110103

111-
replit.dev.languageServers.pyright-extended = {
112-
name = "pyright-extended";
113-
displayVersion = pyright-extended.version;
104+
replit.dev.languageServers.ty = {
105+
name = "ty";
106+
displayVersion = pkgs.ty.version;
114107
language = "python3";
115-
start = "${pyright-extended}/bin/langserver.index.js --stdio";
108+
start = "${pkgs.ty}/bin/ty server";
116109
};
117110

118111
replit.dev.packagers.upmPython = {

pkgs/modules/ty/default.nix

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{ pkgs, lib, ... }:
2+
{
3+
id = "ty";
4+
name = "ty LSP";
5+
displayVersion = pkgs.ty.version;
6+
description = ''
7+
Ty is an extremely fast Python type checker from Astral with an integrated language server.
8+
'';
9+
replit.dev.languageServers.ty = {
10+
name = "ty";
11+
displayVersion = pkgs.ty.version;
12+
language = "python3";
13+
start = "${pkgs.ty}/bin/ty server";
14+
};
15+
16+
replit.env = {
17+
PATH = "${pkgs.ty}/bin";
18+
};
19+
}

pkgs/upgrade-map/default.nix

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ let
2525
"go" = "go-1.19";
2626
"go-1.23" = "go-1.24";
2727
"go-1.24" = "go-1.25";
28+
"pyright" = "ty";
29+
"pyright-extended" = "ty";
2830
"r-4.3" = "r-4.4";
2931
"r-4.4" = "r-4.5";
3032
"rust" = "rust-1.69";

0 commit comments

Comments
 (0)