Skip to main content

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

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

pvw-0.0.6.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

pvw-0.0.6-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file pvw-0.0.6.tar.gz.

File metadata

  • Download URL: pvw-0.0.6.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for pvw-0.0.6.tar.gz
Algorithm Hash digest
SHA256 d5c6551f80e81b2a78e573afce77a8d142497180b17d150d53e6159dc5cf2b97
MD5 d9a7105c9af812a43d6d47c3bf07edf4
BLAKE2b-256 cab7f772ab1690475f5b4c9a31a5bbf2af1cf19c318287752ed626cc8c1e3dc5

See more details on using hashes here.

File details

Details for the file pvw-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: pvw-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for pvw-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 58bcbd3be40d6acce848348a7596732a131ebc75adb180bf59df0b35f02d4115
MD5 4313e43e9795b55b903ef7bcb1391a27
BLAKE2b-256 18fbd719ce230d0c3923de3d73565820e5c393c0db88f3587c6b1634a647690b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page