uvshell
Open a shell inside a local uv virtual environment.
uvshell creates a local .venv if it does not exist and opens a new shell session with the environment activated. Exit the shell to return to your normal environment.
What It Does
- Creates a
.venvusinguvif one does not exist - Initializes a
uvproject first ifpyproject.tomlis missing - Marks newly initialized projects with
tool.uv.package = falseby default - Opens a new interactive shell with the virtual environment activated
- Works across Windows, macOS, and Linux
Installation
Install From PyPI With uv
uv tool install uvshell
or:
uv pip install uvshell
Install With pip
pip install uvshell
Install From a Local Build
pip install dist/uvshell-0.1.4-py3-none-any.whl
Requirements
- Python 3.9+
uvinstalled and available onPATH
Install uv if needed:
pip install uv
or:
brew install uv
Usage
From your project directory:
uvshell
Behavior:
- If
.venvdoes not exist, it will be created - If
pyproject.tomldoes not exist,uvshellrunsuv initfirst - New auto-initialized projects default to
tool.uv.package = false - On Windows,
uvshellopens acmd.exesubshell - Type
exitto leave the environment
Options
Use a Different Virtual Environment Directory
uvshell --venv .venv-dev
Specify Python When Creating the Environment
uvshell --python 3.13
Initialize as a Packaged Project
uvshell --package
Use this if you want uvshell to create a packaged uv project when it has to run uv init.
Error If the Environment Is Missing
uvshell --no-create
Example Workflow
mkdir my-project
cd my-project
uvshell
exit
Local Smoke Test
python -m pip uninstall -y uvshell
python -m pip install .\dist\uvshell-0.1.4-py3-none-any.whl
mkdir C:\temp\uvshell-smoke
cd C:\temp\uvshell-smoke
uvshell --python 3.13
After uvshell starts, confirm that .venv, .gitignore, and optionally .python-version were created as expected.
License
Apache License 2.0
Metadata
Release files for uvshell 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| uvshell-0.1.4.tar.gz | 9.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| uvshell-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.4 kB
Release files / uvshell-0.1.4.tar.gz
| Download URL | uvshell-0.1.4.tar.gz |
|---|---|
| Size | 9.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dff0de30da2ddacfb0685ee592679644720cd886e6b6b4fd79a8eb7c7262190e
|
|
BLAKE2b-256 checksum How to use checksums |
e8bc2f3adc1c56a878a8c966c144b22122d9470b82650434062020ad55fb64f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / uvshell-0.1.4-py3-none-any.whl
| Download URL | uvshell-0.1.4-py3-none-any.whl |
|---|---|
| Size | 12.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c15378d608cb6d9027785c043b9488d5adc8d370a8fdef9a6cb578ebb73b6970
|
|
BLAKE2b-256 checksum How to use checksums |
72964d5b6ee575c66a0757ab47b5d85b8f7a1af5d5154c558f0647cc740ca5c5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|