typescript-language-server VS pyright

Compare typescript-language-server vs pyright and see what are their differences.

SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
typescript-language-server pyright
53 135
1,705 12,098
2.1% 1.5%
8.7 9.8
3 days ago about 15 hours ago
TypeScript Python
GNU General Public License v3.0 or later GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

typescript-language-server

Posts with mentions or reviews of typescript-language-server. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-12.
  • Helix - Front-End Power
    8 projects | dev.to | 12 Mar 2024
  • What is JSDoc and why you may not need typescript for your next project?
    8 projects | dev.to | 22 Jan 2024
    Besides the features TypeScript itself proposed, the most important thing it brought to the community was the ability to create cool features around this compiler that enhance the developer experience and productivity. Tools like tsserver, pretty ts errors, and many others are actively improving the ecosystem for both JavaScript and TypeScript writers.
  • A guide on Neovim's LSP client
    7 projects | dev.to | 13 Jan 2024
    Sometimes a language server can support multiple filetypes. An example of this is tsserver, the language server for javascript and typescript. In this case a filetype plugin can still work but there is an easier way to go about it.
  • Suspense your federated component with caution
    1 project | dev.to | 14 Oct 2023
    in this way the ts server can detect and parse the component from the microfronent, thanks to monorepos!
  • Let's write an Emacs treesitter major mode
    7 projects | news.ycombinator.com | 14 Sep 2023
    That was interesting, thanks for pointing it out

    I was tremendously sad to see that the Typescript Language Server wasn't owned by Microsoft <https://microsoft.github.io/language-server-protocol/impleme...>, since if there was any sanity in the world a spec bump would travel with a reference implementation showing how they envision such a thing being used

    But, I found that the Typescript Language Server that they did list does indeed have a semantic-tokens module in it, although it's much shorter than I would have expected from reading that section in the spec: https://github.com/typescript-language-server/typescript-lan...

  • How do I select which LSP is currently running?
    1 project | /r/HelixEditor | 17 Aug 2023
    I would like to use svelte language server when working on +page.server.ts files and not the typescript language server.
  • Formatting on save not working
    3 projects | /r/HelixEditor | 5 Jul 2023
    [[language]] name = "python" roots = ["pyproject.toml"] formatter = { command = "black", args = ["--quiet", "-"] } language-server = { command = "pyright-langserver", args = ["--stdio"] } config = {} auto-format = true [[language]] name = "rust" auto-format = true # [[language]] # name = "typescript" # auto-format = true # formatter = { command = "prettier", args = ["--parser", "typescript"]} # # pass format options according to https://github.com/typescript-language-server/typescript-language-server#workspacedidchangeconfiguration omitting the "[language].format." prefix. # config = { format = { "semicolons" = "insert", "insertSpaceBeforeFunctionParenthesis" = true } } [[language]] name = "tsx" formatter = { command = 'prettier', args = ["--parser", "typescript"] } auto-format = true [[language]] name = "javascript" auto-format = true formatter = { command = 'npx', args = ["prettier", "--config", ".prettierrc", "--parser", "javascript"] } # formatter = { command = "prettier", args = ["--parser", "javascript"]} [[language]] name = "css" formatter = { command = 'prettier', args = ["--parser", "css"] } [[language]] name = "markdown" # https://github.com/executablebooks/mdformat formatter = { command = "mdformat", args = ["-"] } [[language]] name = "json" formatter = { command = "prettier", args = ["--parser", "json"] } [[language]] name = "toml" auto-format = true # https://github.com/bd82/toml-tools/tree/master/packages/prettier-plugin-toml formatter = { command = "prettier", args = ["--parser", "toml"] } [[language]] name = "yaml" indent = { tab-width = 2, unit = " " } formatter = { command = "prettier", args = ["--parser", "yaml"] } [[language]] name = "astro" scope = "source.astro" injection-regex = "astro" file-types = ["astro"] roots = ["package.json", "astro.config.mjs"] language-server = { command = "astro-ls", args = ["--stdio"] } config = { "typescript" = { serverPath = "/Users/matteostara/.nvm/versions/node/v18.16.0/bin/typescript-language-server" }, "environment" = "node" }
  • Struggling with javascript completion with LSP
    2 projects | /r/emacs | 15 Jun 2023
    Depending on the language server version, you may be running into https://github.com/typescript-language-server/typescript-language-server/issues/631. I temporarily fixed it for me by simply sticking with an old enough server build, though judging by the latest typescript-language-server commits a very recent build from master should also work
  • There's another typescript LSP that wraps the official VSCode typescript extension and has almost the same features - vtsls
    6 projects | /r/neovim | 28 Apr 2023
    Before, I was using typescript-language-server as it is LSP compliant but it was slow and lacks the features of what VSCode's implementation has, like extracting functions, constants, types into interfaces or alias and single imports. Auto-completion was also not very predictive as sometimes it works and sometimes it doesn't. For instance, I was having trouble getting it to auto-complete common attributes like className or href in JSX projects. It could be that I may be doing something wrong but didn't find any solution on how to get it properly working.
  • What could cause my LSP to be so slow and sluggish? Takes anywhere from 1 to 8 seconds to show auto-completion results and hide/ unhide errors.
    7 projects | /r/neovim | 13 Apr 2023
    Then this is highly likely issue of typescript-language-server. You might consider opening an issue for it.

pyright

Posts with mentions or reviews of pyright. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-18.
  • Enhance Your Project Quality with These Top Python Libraries
    16 projects | dev.to | 18 Mar 2024
    Pyright is a fast type checker meant for large Python source bases. It can run in a “watch” mode and performs fast incremental updates when files are modified.
  • How to speed up Pyright + eglot.
    1 project | /r/emacs | 11 Nov 2023
    However, I made it faster for my use-case by changing some settings. Neovim allows to have these settings in the setup function for LSP. I was trying to figure out how do I change these settings with doom emacs. Pyright docs suggest to have these settings in pyrightconfig.json.
  • Mypy 1.6 Released
    5 projects | news.ycombinator.com | 17 Oct 2023
    Not exactly what you are looking for but maybe useful to others.

    https://github.com/microsoft/pyright/blob/main/docs/mypy-com...

  • VSCodium – Libre Open Source Software Binaries of VS Code
    10 projects | news.ycombinator.com | 4 Sep 2023
    You can use pyright instead[0]. It is the FOSS version of pyright, but having some features missing.

    [0]: https://github.com/microsoft/pyright

  • How do you enable semantic highlighting for Python?
    4 projects | /r/neovim | 7 Jul 2023
    Unfortunately, pyright explicitly stated that they are not interested in inlay hints or other language server features, that those will only be added to pylance. That's why I added it myself instead of submitting a pull request to pyright. See https://github.com/microsoft/pyright/issues/4325
  • How do I enable an LSP for json files?
    2 projects | /r/neovim | 7 Jul 2023
    return { -- add pyright to lspconfig { "neovim/nvim-lspconfig", ---@class PluginLspOpts opts = { ---@type lspconfig.options servers = { -- Listed servers will be automatically loaded to buffers jsonls = { settings = { json = { format = { enable = true, }, }, validate = { enable = true }, }, }, pyright = { settings = { python = { analysis = { -- https://github.com/microsoft/pyright/blob/main/docs/settings.md autoSearchPaths = false, useLibraryCodeForTypes = true, diagnosticMode = "openFilesOnly", }, }, }, }, }, -- Add folding capability to use LSP for ufo plugin capabilities = { textDocument = { foldingRange = { dynamicRegistration = false, lineFoldingOnly = true, }, }, }, }, }, }
  • VSCode isn't Recognizing installed Python Modules?
    1 project | /r/learnprogramming | 4 Jul 2023
    [{ "resource": "/Documents/Coding/VSCode/Projects/Photoeditor/PhotoEditor.py", "owner": "_generated_diagnostic_collection_name_#0", "code": { "value": "reportMissingModuleSource", "target": { "$mid": 1, "external": "https://github.com/microsoft/pyright/blob/main/docs/configuration.md#reportMissingModuleSource", "path": "/microsoft/pyright/blob/main/docs/configuration.md", "scheme": "https", "authority": "github.com", "fragment": "reportMissingModuleSource" } }, "severity": 4, "message": "Import \"requests\" could not be resolved from source", "source": "Pylance", "startLineNumber": 2, "startColumn": 8, "endLineNumber": 2, "endColumn": 16 }]
  • Pyright does not respect virtualenv (astronvim)
    3 projects | /r/neovim | 24 Jun 2023
    I don't use astro, but you can configure pyright by using a pyrightconfig.json or directly in the LSP configuration.
  • Eglot + pyright can not get completion on django.db.models
    6 projects | /r/emacs | 16 Jun 2023
  • Remote Development, Python IDE.
    1 project | /r/emacs | 17 May 2023
    I prefer jedi over pyright as pyright has crippled documentation support outside of VSCode. I also found jedi is make correct suggestions based on inferred type in some situations where pyright would need type annotation to provide completions, pyright is significantly faster though. Jedi with mypy and flake8 is comparable to pyright I think, but unfortunately mypy wasn't working over tramp. Also isort wasn't working over tramp, but jedi, black, importmagic and flake8 all worked.

What are some alternatives?

When comparing typescript-language-server and pyright you can also consider the following projects:

deno - A modern runtime for JavaScript and TypeScript.

jedi-language-server - A Python language server exclusively for Jedi. If Jedi supports it well, this language server should too.

nvim-lspconfig - Quickstart configs for Nvim LSP

mypy - Optional static typing for Python

null-ls.nvim - Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.

python-lsp-server - Fork of the python-language-server project, maintained by the Spyder IDE team and the community

nvim-lsp-ts-utils - Utilities to improve the TypeScript development experience for Neovim's built-in LSP client.

python-language-server - Microsoft Language Server for Python

nvim-lspinstall - Provides the missing :LspInstall for nvim-lspconfig

coc-jedi - coc.nvim wrapper for https://github.com/pappasam/jedi-language-server

TypeScript - IO wrapper around TypeScript language services, allowing for easy consumption by editor plugins

pylance-release - Documentation and issues for Pylance