{"id":45877478,"url":"https://github.com/smirnoffmg/litestar-vscode","last_synced_at":"2026-03-01T20:00:56.705Z","repository":{"id":340950683,"uuid":"1168244056","full_name":"smirnoffmg/litestar-vscode","owner":"smirnoffmg","description":"Visual Studio Code extension for Litestar framework development. Route explorer with hierarchical view of routers, controllers and handlers. CodeLens for test client navigation. Diagnostics for common issues. Dependency injection visualization. Built on LSP with Python backend for accurate static analysis.","archived":false,"fork":false,"pushed_at":"2026-02-27T11:37:26.000Z","size":997,"stargazers_count":1,"open_issues_count":5,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-27T14:26:18.366Z","etag":null,"topics":["asgi","language-server-protocol","litestar","python","vscode-extension"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smirnoffmg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-27T06:56:15.000Z","updated_at":"2026-02-27T12:19:17.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/smirnoffmg/litestar-vscode","commit_stats":null,"previous_names":["smirnoffmg/litestar-vscode"],"tags_count":6,"template":false,"template_full_name":"microsoft/vscode-python-tools-extension-template","purl":"pkg:github/smirnoffmg/litestar-vscode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smirnoffmg%2Flitestar-vscode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smirnoffmg%2Flitestar-vscode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smirnoffmg%2Flitestar-vscode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smirnoffmg%2Flitestar-vscode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smirnoffmg","download_url":"https://codeload.github.com/smirnoffmg/litestar-vscode/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smirnoffmg%2Flitestar-vscode/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29983122,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T16:35:47.903Z","status":"ssl_error","status_checked_at":"2026-03-01T16:35:44.899Z","response_time":124,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asgi","language-server-protocol","litestar","python","vscode-extension"],"created_at":"2026-02-27T12:46:13.010Z","updated_at":"2026-03-01T20:00:56.689Z","avatar_url":"https://github.com/smirnoffmg.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Litestar extension for VS Code\n\nVS Code extension that understands your [Litestar](https://litestar.dev/) app structure.\n\n[![VS Marketplace](https://img.shields.io/visual-studio-marketplace/v/smirnoffmg.litestar?label=marketplace)](https://marketplace.visualstudio.com/items?itemName=smirnoffmg.litestar)\n[![MIT](https://img.shields.io/badge/license-MIT-yellow.svg)](LICENSE)\n\n## What it does\n\n**Route Explorer** - see every route in your app as a tree: `app` -\u003e `routers` -\u003e `controllers` -\u003e `handlers`. Click to jump to code.\n\n![Route Explorer](docs/route-explorer.png)\n\n**Route Search** - fuzzy-search routes by path, method, or handler name.\n\n![Route Search](docs/route-search.png)\n\n**CodeLens** - links above `client.get(\"/items\")` calls in tests that take you to the matching handler.\n\n![CodeLens](docs/codelens.png)\n\n**Diagnostics** - warns about missing return types, sync handlers without `sync_to_thread`, duplicate routes, bad guard signatures.\n\n**DI \u0026 guard visualization** - hover a handler to see which dependencies are injected and which guards apply across all layers.\n\n**Snippets** - `ls-get`, `ls-post`, `ls-controller`, `ls-router`, `ls-guard`, `ls-middleware`, `ls-test` and more.\n\n## Install\n\nSearch \"Litestar\" in the VS Code extensions panel, or:\n\n```bash\next install smirnoffmg.litestar\n```\n\nRequires Python 3.9+ and the [Python extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python).\n\n## Configuration\n\nThe extension auto-detects your app by finding `Litestar(...)` in the codebase. If that doesn't work, set the entry point manually:\n\n```json\n{\n  \"litestar.entryPoint\": \"my_app.main:app\"\n}\n```\n\nOther settings: `litestar.codeLens.enabled`, `litestar.diagnostics.enabled`, `litestar.showNotification`, `litestar.interpreter`. See full list in the extension settings panel.\n\n## How it works\n\nTypeScript side talks to VS Code. Python side (built on [pygls](https://github.com/openlawlibrary/pygls)) parses your code with `ast`, discovers routes, resolves the dependency/guard hierarchy, and reports diagnostics. They communicate over LSP.\n\n## Development\n\n```bash\ngit clone https://github.com/smirnoffmg/litestar-vscode.git\ncd litestar-vscode\npython -m venv .venv \u0026\u0026 source .venv/bin/activate\npip install nox \u0026\u0026 nox --session setup\nnpm install\n```\n\nPress `F5` in VS Code to launch the extension in debug mode.\n\n```bash\nnox --session tests    # run tests\nnox --session lint     # lint everything\nnox --session build_package  # build .vsix\n```\n\n## Contributing\n\nPRs and issues welcome. See [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## License\n\n[MIT](LICENSE)\n\n## Credits\n\nBuilt on the [VS Code Python Tools Extension Template](https://github.com/microsoft/vscode-python-tools-extension-template). Powered by [pygls](https://github.com/openlawlibrary/pygls) and [Litestar](https://litestar.dev/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmirnoffmg%2Flitestar-vscode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmirnoffmg%2Flitestar-vscode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmirnoffmg%2Flitestar-vscode/lists"}