{"id":51107557,"url":"https://github.com/bunhine0452/uvws","last_synced_at":"2026-06-24T15:01:18.914Z","repository":{"id":361555667,"uuid":"1253138410","full_name":"bunhine0452/uvws","owner":"bunhine0452","description":"Manage and run all your uv-based Python projects from one place — with one-click execution, a built-in terminal, port force-kill, and Git integration. Available on macOS and Windows.","archived":false,"fork":false,"pushed_at":"2026-06-16T13:20:27.000Z","size":8352,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-16T13:27:20.031Z","etag":null,"topics":["astral-uv","desktop-app","developer-tools","devtools","macos","project-manager","python","python-development","react","rust","tauri","uv","virtualenv","windows"],"latest_commit_sha":null,"homepage":"https://uvws.site","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bunhine0452.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-29T07:25:54.000Z","updated_at":"2026-06-16T13:21:03.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/bunhine0452/uvws","commit_stats":null,"previous_names":["bunhine0452/uvws"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/bunhine0452/uvws","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bunhine0452%2Fuvws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bunhine0452%2Fuvws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bunhine0452%2Fuvws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bunhine0452%2Fuvws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bunhine0452","download_url":"https://codeload.github.com/bunhine0452/uvws/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bunhine0452%2Fuvws/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34737398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-24T02:00:07.484Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["astral-uv","desktop-app","developer-tools","devtools","macos","project-manager","python","python-development","react","rust","tauri","uv","virtualenv","windows"],"created_at":"2026-06-24T15:01:16.469Z","updated_at":"2026-06-24T15:01:18.905Z","avatar_url":"https://github.com/bunhine0452.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"src-tauri/icons/128x128@2x.png\" width=\"100\" alt=\"uvws icon\" /\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003euvws\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n  A desktop app to manage all your Python projects in one place — powered by \u003ccode\u003euv\u003c/code\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://uvws.site\"\u003e\u003cb\u003euvws.site\u003c/b\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eEnglish\u003c/b\u003e · \u003ca href=\"README.ko.md\"\u003e한국어\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/bunhine0452/uvws/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/bunhine0452/uvws?style=flat-square\u0026color=6366f1\" alt=\"Release\" /\u003e\u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/platform-macOS%20%7C%20Windows-333?style=flat-square\" alt=\"Platform\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/powered%20by-Tauri%202-24C8D8?style=flat-square\u0026logo=tauri\u0026logoColor=white\" alt=\"Tauri 2\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/package%20manager-uv-DE5FE9?style=flat-square\" alt=\"uv\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/bunhine0452/uvws?style=flat-square\u0026color=868e96\" alt=\"License\" /\u003e\n\u003c/p\u003e\n\n---\n\nWhen you have several Python projects, typing `cd`, then `source .venv/bin/activate`, then `python main.py` every single time starts to wear thin. uvws shrinks that whole dance down to a single click.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/alpha/preview.png\" width=\"720\" alt=\"uvws screenshot\" /\u003e\n\u003c/p\u003e\n\n---\n\n## Download\n\nGrab it from [**uvws.site**](https://uvws.site) or the [**Releases page**](https://github.com/bunhine0452/uvws/releases).\n\n| Platform | File |\n|---|---|\n| macOS Apple Silicon (M1–M4) | `uvws_x.x.x_aarch64.dmg` |\n| macOS Intel | `uvws_x.x.x_x64.dmg` |\n| Windows 10+ | `uvws_x.x.x_x64-setup.exe` |\n\n**Prerequisite:** [uv](https://docs.astral.sh/uv/getting-started/installation/) must be installed.\n\n```bash\n# macOS / Linux\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n\n# Windows (PowerShell)\npowershell -ExecutionPolicy ByPass -c \"irm https://astral.sh/uv/install.ps1 | iex\"\n```\n\n### Security warning on first launch (macOS)\n\nBecause the app isn't Apple-notarized, macOS may show a warning.\n\n- **\"App is damaged\" error**: run `xattr -cr /Applications/uvws.app` in the terminal, then try again\n- **Generic warning**: right-click the app → Open → confirm Open\n\nYou only need to do this once; it launches normally afterward.\n\n---\n\n## Features\n\n**Register \u0026 run projects**\nRegister a folder once and launch it with a single click from then on. Runs are wrapped in `uv run`, so they work without activating a virtualenv — and if there's no `.venv`, one is created automatically on first run.\n\n**Import wizard**\nWhen importing a folder that has a `requirements.txt` or `pyproject.toml`, pick a Python version (3.10–3.13) and install dependencies in one step.\n\n**Built-in terminal**\nEach project's stdout/stderr streams live into an xterm.js terminal. When a `localhost:XXXX` address is detected in the logs, an \"Open in browser\" button appears automatically.\n\n**Port management (force-kill)**\nForce-kills (SIGKILL) whatever process is holding a given port, retrying and verifying until the port is actually free — so you never have to type `lsof -i` for a \"port already in use\" error again.\n\n**Concurrent runs \u0026 auto-cleanup**\nSpin up multiple localhost servers at once, each managed with its own terminal and port. Quitting the app shuts down every running server, and any orphans left by a crash are swept on the next launch.\n\n**Git integration**\nIf a project folder is a Git repository, see its branch, ahead/behind counts, changed-file count, and latest commit at a glance — and run Fetch / Pull / Push with a single button.\n\n**Dependency viewer**\nInspect the packages and versions installed in `.venv`, and use the Sync button to reinstall against `requirements.txt` / `pyproject.toml`.\n\n**Korean / English**\nSwitch the language instantly from the About screen.\n\n---\n\n## Build from source\n\n```bash\ngit clone https://github.com/bunhine0452/uvws.git\ncd uvws\npnpm install\npnpm tauri dev       # development mode\npnpm tauri build     # release build\n```\n\nBuild artifacts are produced in `src-tauri/target/release/bundle/`.\n\n**Requirements:** Node.js 18+, pnpm, Rust stable, uv, [Tauri prerequisites](https://v2.tauri.app/start/prerequisites/)\n\n---\n\n## Roadmap\n\n- [x] Register / configure / delete projects\n- [x] One-click run via `uv run`\n- [x] Live xterm.js terminal\n- [x] Port auto-detection \u0026 open-in-browser\n- [x] Kill Port\n- [x] Import wizard (with Python version selection)\n- [x] Dependency viewer \u0026 Sync\n- [x] Concurrent runs \u0026 auto server cleanup on app quit\n- [x] Git integration (status, fetch, pull, push)\n- [x] Localization (Korean / English)\n- [ ] Plugin system\n- [ ] Docker container management\n\n---\n\n## Contributing\n\nPRs and issues are both welcome. For bug reports or feature ideas, open an [Issue](https://github.com/bunhine0452/uvws/issues).\n\n---\n\n## License\n\n[MIT License](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbunhine0452%2Fuvws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbunhine0452%2Fuvws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbunhine0452%2Fuvws/lists"}