a lightweight python venv wrapper to manage venvs
Project description
pvw
A lightweight (~10kB) python venv wrapper for virtual environment management.
Create venv or standard project in simple command line tool.
Based on the built-in venv since python 3.6.
Pre-requirement
- Python >= 3.6
- python-venv
Installation
pip install pvw
Usage
You can either start a raw project with pvw init
, or just manage virtual envs with core commands .
Start a project
pvw init PROJ_NAME
Initialize a python project, with a simple template as:
|- pyproject.toml
|- src
|- PROJ_NAME
|- cli.py
|- README.md
|- License
You can decide whether creating a specific env for this project.
Configuration
Get or set the directory venv_path
where venvs are stored in default.
pvw config get venv_path # get venv_path variable
pvw config set venv_path=PATH/TO/VENV # set venv_path
Core commands
We use base
as a demo
Show
# show name, path, and size(optional) of existing venvs.
> pvw ls [--show-size]
Name Path Size
--------------------------------------
env1 C:\Users\venvs\env1 199.42MB
env2 C:\Users\venvs\env2 21.83MB
st C:\Users\venvs\st 313.99MB
v2 C:\Users\venvs\v2 21.86MB
v3 C:\Users\venvs\v3 21.85MB
Create
# Create venv `base` in either way:
pvw create base # in default venv path
pvw create ./base # in current directory
pvw create /home/venvs/base # in specific directory
Activate/deactivate
# For Windows
pvw activate base # standard way
pvw base # or a shorter way
deactivate # exit
# For Linux/MacOS
source pvw activate base # standard way
source pvw base # or a shorter way
deactivate # exit
Copy or move
# copy or rename from a existing venv
pvw cp base dev # copy `base` to a new venv `dev`
pvw mv dev foo # rename `dev` to a new venv `foo`
Remove
# remove both `dev` and `foo`
pvw rm dev foo
# remove envs that starts with `test`
pvw rm test.*
Build From Source
Using Makefile
cd src/pvw
make
sudo make install
The executable binary pvw
and pvw_py
will be installed in your /usr/bin/ directory.
Using setuptools
pip install --upgrade build setuptools # skip if already installed
python -m build
pip install dist/pvw-x.x.x.tar.gz # x.x.x is the built version of pvw
To-do list
- Simplify activate command in Linux/Mac OS
- Enable setting default venv in terminal
- Add unit tests
- Support specific python version (if installed)
Project details
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
File details
Details for the file pvw-0.0.8.tar.gz
.
File metadata
- Download URL: pvw-0.0.8.tar.gz
- Upload date:
- Size: 11.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e5e6491fab8144f0810328facdd91e5fb6862fcae028b675c8ab4ab7e5818b6 |
|
MD5 | 6680f8550d802dd0d93ccd6d5dc97841 |
|
BLAKE2b-256 | c50bf7c5a54dbc7e1b302ed3f569615fc3ca8746f59f74e5473e01c93b12daba |
File details
Details for the file pvw-0.0.8-py3-none-any.whl
.
File metadata
- Download URL: pvw-0.0.8-py3-none-any.whl
- Upload date:
- Size: 12.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a1fc397e51e78228dadd29a4976aa638ecd2f5104cadea40af88904fbd7aa12 |
|
MD5 | f64bdecce31811453041862fe1d63d76 |
|
BLAKE2b-256 | 26bf2d5af975921352ec055698a9640ca7d86895539b73de6050d4d58160cdeb |