Lightweight Python Virtual Environment Manager with modern GUI
Project description
๐ VenvStudio
Lightweight Python Virtual Environment Manager
Create, manage, and launch your Python environments โ all from a modern GUI
๐ฆ Install
pip install venvstudio
venvstudio
Or download the standalone binary โ no Python required:
| Platform | File | Notes |
|---|---|---|
| ๐ช Windows | VenvStudio.exe |
Portable โ just run |
| ๐ง Linux | VenvStudio-x86_64.AppImage |
chmod +x then run |
| ๐ macOS | VenvStudio-macOS |
Apple Silicon + Rosetta 2 |
โจ Features
๐๏ธ Environment Management
- Create, rename, clone, delete virtual environments with a modern GUI
- Auto-detect existing environments on disk at startup
- Per-environment cache โ instant load, no subprocess delays
- Set a Default Environment that opens automatically on launch
- Open terminal with environment pre-activated (cmd, PowerShell, pwsh, bash, zsh, fish...)
- Export as
requirements.txt,Dockerfile,docker-compose.yml,pyproject.toml,environment.yml
๐ฆ Package Management
- Installed tab โ filter, select, uninstall, export, import packages
- Catalog tab โ 200+ curated packages across 15 categories with PyPI & Docs links
- Presets tab โ one-click install bundles (Data Science, Web API, Django, Flask, ML, NLP, CV, Testing...)
- Manual Install tab โ paste package names or version specs (
numpy==1.24,pandas>=2.0) - pip or uv backend (uv is 10โ100ร faster)
๐ Quick Launch
- Sidebar shows installed apps for the active environment
- 13+ one-click launchers โ see full list below
- Jupyter Working Directory โ configurable (Home / Env Folder / Custom Path)
- Create Desktop Shortcut for any app
- Instant sync between sidebar dropdown, environment table, and package panel
๐ Python Management
- Auto-detect all system Python installations
- Add custom Python paths
- Set User Default or System Default Python (PATH management with optional admin elevation)
- Download standalone Python builds from python-build-standalone
โ๏ธ Settings & Customization
- ๐ Dark (Catppuccin) and โ๏ธ Light themes
- Font family and size customization
- ๐ Interface language: English / Turkish
- Custom venv base directory
- Custom terminal, catalog categories, and packages
- CLI/TUI Tools: Starship (preset preview, inline config editor, test terminal), Oh My Posh, Nerd Fonts
- Auto-check for updates on startup
๐ Supported Launchers
Launch any of these tools directly from VenvStudio โ if installed in the active environment, it appears in the sidebar automatically.
| Tool | Description | Category | Website | |
|---|---|---|---|---|
| JupyterLab | Next-gen interactive development environment for notebooks | ๐ Notebooks | jupyter.org | |
| Jupyter Notebook | Classic notebook interface for interactive computing | ๐ Notebooks | jupyter.org | |
| Streamlit | Build data apps in minutes with pure Python | ๐ Web Apps | streamlit.io | |
| Gradio | Build and share ML demos and web apps | ๐ Web Apps | gradio.app | |
| Plotly Dash | Analytical web applications with Python | ๐ Web Apps | dash.plotly.com | |
| Panel | High-level app and dashboarding framework | ๐ Web Apps | panel.holoviz.org | |
| Voilร | Turn Jupyter notebooks into standalone web apps | ๐ Web Apps | voila.readthedocs.io | |
| FastAPI | Modern, fast web framework for building APIs | โก API | fastapi.tiangolo.com | |
| TensorBoard | Visualization toolkit for machine learning experiments | ๐ ML Ops | tensorflow.org/tensorboard | |
| MLflow | Platform for the complete ML lifecycle | ๐ ML Ops | mlflow.org | |
| Spyder IDE | Scientific Python development environment | ๐ฌ IDE | spyder-ide.org | |
| Orange Data Mining | Visual programming for data analysis and ML | ๐ฌ Data Science | orangedatamining.com | |
| Datasette | Explore and publish data with instant JSON API | ๐๏ธ Data | datasette.io | |
| IPython | Enhanced interactive Python shell | ๐ Shell | ipython.org |
๐ Quick Start
From PyPI
pip install venvstudio
venvstudio
From Source
git clone https://github.com/bayramkotan/VenvStudio.git
cd VenvStudio
pip install PySide6
python main.py
CLI
venvstudio # Launch GUI
venvstudio -V # Show version
venvstudio -h # Help
๐ค Export Formats
Export your environment in multiple formats from the Export โพ dropdown:
| Format | File(s) | Use Case |
|---|---|---|
| ๐ requirements.txt | requirements.txt |
Standard pip |
| ๐ณ Dockerfile | Dockerfile + requirements.txt |
Docker container |
| ๐ณ docker-compose.yml | 3 files | Docker Compose |
| ๐ฆ pyproject.toml | pyproject.toml |
Modern Python packaging |
| ๐ environment.yml | environment.yml |
Conda compatibility |
| ๐ Clipboard | โ | Quick copy-paste |
โฌ๏ธ Python Downloader
Download standalone Python builds from python-build-standalone (same builds used by uv):
- User Install โ no admin required, stored in VenvStudio config
- System Install โ Windows (
C:\Program Files), Linux (/opt/python), macOS (/usr/local/python)
๐๏ธ Build from Source
pip install pyinstaller PySide6 Pillow
python build.py
๐ License
Made with โค๏ธ by Bayram Kotan
GitHub ยท Releases ยท Issues ยท Screenshots
โญ If VenvStudio helps you, give it a star! โญ
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file venvstudio-1.3.61.tar.gz.
File metadata
- Download URL: venvstudio-1.3.61.tar.gz
- Upload date:
- Size: 1.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a62360411aee7ec1c2d72609640a7fbe130baf185f523660cd8e5d43cfac125
|
|
| MD5 |
0d255e641d7af2468fd7e6cb780f5771
|
|
| BLAKE2b-256 |
70cd4c2e8da70fa32368e8ea0d408c896c2b55525ece9aac5a3a0a7b3ee27267
|
Provenance
The following attestation bundles were made for venvstudio-1.3.61.tar.gz:
Publisher:
build.yml on bayramkotan/VenvStudio
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
venvstudio-1.3.61.tar.gz -
Subject digest:
4a62360411aee7ec1c2d72609640a7fbe130baf185f523660cd8e5d43cfac125 - Sigstore transparency entry: 1132348244
- Sigstore integration time:
-
Permalink:
bayramkotan/VenvStudio@38fc055c57b76f20c25b7248191e5e61fb99f142 -
Branch / Tag:
refs/tags/v1.3.61 - Owner: https://github.com/bayramkotan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@38fc055c57b76f20c25b7248191e5e61fb99f142 -
Trigger Event:
push
-
Statement type:
File details
Details for the file venvstudio-1.3.61-py3-none-any.whl.
File metadata
- Download URL: venvstudio-1.3.61-py3-none-any.whl
- Upload date:
- Size: 161.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05d5d8991570ba68f4a4290511a87bea5a929391766be2405741f4ccec7aabe9
|
|
| MD5 |
c6e994835d05b5f259765cf73efe3788
|
|
| BLAKE2b-256 |
1c27587579fcf3e69cfd8b52b5466492404768ca5503c6832a9bb5025abe1eb4
|
Provenance
The following attestation bundles were made for venvstudio-1.3.61-py3-none-any.whl:
Publisher:
build.yml on bayramkotan/VenvStudio
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
venvstudio-1.3.61-py3-none-any.whl -
Subject digest:
05d5d8991570ba68f4a4290511a87bea5a929391766be2405741f4ccec7aabe9 - Sigstore transparency entry: 1132348282
- Sigstore integration time:
-
Permalink:
bayramkotan/VenvStudio@38fc055c57b76f20c25b7248191e5e61fb99f142 -
Branch / Tag:
refs/tags/v1.3.61 - Owner: https://github.com/bayramkotan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@38fc055c57b76f20c25b7248191e5e61fb99f142 -
Trigger Event:
push
-
Statement type: