Skip to main content

A CLI which aims to provide an npm-like experience when working with Python packages.

Project description

https://travis-ci.org/eight04/vpip.svg?branch=master Documentation Status PyPI

vpip = venv + pipm

A CLI which aims to provide an npm-like experience when installing Python packages.

Features

  • Install packages to isolated global virtual environments.

    • Executables are linked to the Python Scripts folder so you can still use the CLI without activating the venv.

    • This allows you to install different CLI tools without worrying about dependency conflicts.

  • Install packages to a local virtual environment.

    • Dependencies are stored in requirements.txt (development) and setup.cfg (production, as the install_requires option).

  • When removing a package, also remove its sub-dependencies.

  • Easily run commands in the local virtual environment.

  • Generate a lock file (requirements-lock.txt).

Installation

vpip is hosted on pypi:

pip install vpip

After installing vpip as a CLI, you can use it to install other packages (globally or locally).

Usage example

Install:

  • vpip install - Create/activate a local venv and install all dependencies.

  • vpip install configupdater - Create/activate a local venv, install configupdater, and add to production dependency.

  • vpip install -g youtube-dl - Create a venv under ~/.vpip, install youtube-dl, and link the executable (youtube-dl.exe) to the script folder.

Uninstall:

  • vpip uninstall pylint - Activate the local venv, uninstall pylint, and remove pylint from both dev/prod dependency.

Update:

  • vpip update pylint - Upgrade pylint to the compatible version.

  • vpip update pylint --latest - Upgrade pylint to the latest release.

Execute command:

  • vpip run python - Launch python REPL in the local venv.

  • vpip run pylint my_proj - Run pylint installed in the local venv.

List dependencies:

  • vpip list - List development/production dependencies.

  • vpip list --outdated - List development/production dependencies that are outdated.

  • vpip list -g - List globally installed packages.

Compatibility

vpip is a cross-platform CLI. Please report any compatibility issues.

Documentation

https://vpip.readthedocs.io/en/latest/index.html

Changelog

  • 0.4.2 (Nov 9, 2019)

    • Fix: generate setup.py automatically if needed.

    • Fix: use utf8 encoding when parsing pip output.

  • 0.4.1 (Nov 2, 2019)

    • Nothing is changed. Updated README and corrected some errors.

  • 0.4.0 (Nov 1, 2019)

    • Fix: rebuild egg files after doing an incompatible update.

    • Fix: clean unused packages after uninstall.

    • Add: update_venv command.

    • Breaking: pip_api.show and pip_api.uninstall now accept multiple packages.

  • 0.3.0 (Oct 31, 2019)

    • Support Unix system.

    • Add: generate a lock file.

  • 0.2.3 (Feb 10, 2019)

    • Fix: pypi.is_compatible treat 0.1.0 and 0.2.0 as compatible.

    • Fix: don’t include pre-release when checking updates.

    • Update dependencies.

  • 0.2.2 (Feb 2, 2019)

    • Add: link command.

  • 0.2.1 (Nov 16, 2018)

    • Add: user defined commands.

  • 0.2.0 (Nov 16, 2018)

    • Add documentation.

    • Change: console scripts will be overwritten by default, matching pip’s default behavior.

  • 0.1.0 (Nov 13, 2018)

    • First release

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

vpip-0.4.2.tar.gz (17.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vpip-0.4.2-py3-none-any.whl (21.2 kB view details)

Uploaded Python 3

File details

Details for the file vpip-0.4.2.tar.gz.

File metadata

  • Download URL: vpip-0.4.2.tar.gz
  • Upload date:
  • Size: 17.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.8.0

File hashes

Hashes for vpip-0.4.2.tar.gz
Algorithm Hash digest
SHA256 c2bd9fd5313f20b9af41fe92c6d3e4158d5782fa1c5fa94bbe8baa6f4f67b429
MD5 646358439452bf772164e7bd1d067a53
BLAKE2b-256 266009212128f5bad4c09d03bdfbc7e681a11f90319affc113ea8648f7318551

See more details on using hashes here.

File details

Details for the file vpip-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: vpip-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 21.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.8.0

File hashes

Hashes for vpip-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 252c6decb19d3b50bd53d010fafa086d136b758017df7f83b9697ba4d74eb608
MD5 9908d4a86730c00b0b3ab85be506fbb0
BLAKE2b-256 bb13bc7546ed534de5731efa2f2c48da58f4c0e65694136b98fb578d2e640cd4

See more details on using hashes here.

Supported by

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