Skip to main content

uvenv: pipx for uv (🦀)

Project description

uvenv: pipx for uv

Inspired by:

Note: The tool previously named uvx is now uvenv due to a naming collision with a new uv command. The new name better reflects its purpose, combining uv with venv.
You can run uvenv self migrate to move your environments and installed commands from uvx to uvenv.

Installation

  1. Install via pip (or alternatives):
    pip install uvenv  
    # or `uv install uvenv`, `pipx install uvenv`
    

Note: Ubuntu 24.04+ does not allow global installation via pip by default. See docs/ubuntu_2404.md if you encounter externally-managed-environment errors.

  1. Optional (for bash users):

    uvenv setup
    

    This installs the following features:

  • Ensures ~/.local/bin/ is added to your PATH, so commands can be found (unless --skip-ensurepath). Can also be activated via uvenv ensurepath
  • Enables tab completion for uvenv (unless --skip-completions). Can also be enabled via uvenv completions --install.
  • Enables uvenv activate (unless --skip-activate) to activate uvenv-managed virtualenvs from your shell

Usage

uvenv

Run uvenv without any arguments to see all possible subcommands.

Platform Considerations

  • Rust-Powered Performance (uvenv 2.0): Starting from version 2.0, uvenv leverages Rust for improved performance and compatibility with uv.
  • Prebuilt Binaries: Currently, prebuilt binaries are available for x86_64 (amd64) and aarch64 (ARM64) on Linux, as well as Intel (x86_64) and Apple Silicon (ARM64) on macOS.
  • Other Platforms: If you're on a different platform, you can still use uvx 1.x, which is written in pure Python. Find it at robinvandernoord/uvx.
  • Alternatively, you can Compile for Your Platform:
    • Install the Rust toolchain:
      curl https://sh.rustup.rs -sSf | sh
      
    • Clone the uvenv repo and navigate to it:
      git clone https://github.com/robinvandernoord/uvenv.git
      cd uvenv
      
    • Set up a virtual environment (choose Python or uv):
      python -m venv venv  # or `uv venv venv --seed`
      source venv/bin/activate
      
    • Install Maturin (Python with Rust package builder):
      pip install maturin  # or `uv pip install maturin`
      
    • Compile and install the uvenv binary:
      maturin develop
      
    • Now you can use uvenv:
      ./venv/bin/uvenv
      

For additional details on building and distribution, refer to maturin documentation.

License

uvenv is distributed under the terms of the MIT license.

Changelog

See CHANGELOG.md on GitHub

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

uvenv-3.6.5.tar.gz (78.1 kB view details)

Uploaded Source

Built Distributions

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

uvenv-3.6.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

uvenv-3.6.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

uvenv-3.6.5-py3-none-macosx_11_0_arm64.whl (3.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

uvenv-3.6.5-py3-none-macosx_10_12_x86_64.whl (4.0 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file uvenv-3.6.5.tar.gz.

File metadata

  • Download URL: uvenv-3.6.5.tar.gz
  • Upload date:
  • Size: 78.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.7.4

File hashes

Hashes for uvenv-3.6.5.tar.gz
Algorithm Hash digest
SHA256 286ef8807eabdd4a386d98b88e9a1fabbecfe54d17e88c7a93df2bee0624902a
MD5 f199730448c683fee88245c5a9c54552
BLAKE2b-256 d8f81afc788535dd1e92ee36a13c120e98ca6b145ce1311c5b0a2fc66c2c137b

See more details on using hashes here.

File details

Details for the file uvenv-3.6.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for uvenv-3.6.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 78d6bf57fd00508eb840403759679a06f21ac1c8476e04ff601b4527d2749b65
MD5 671c72eb350b0c97dd99774d2709a3c1
BLAKE2b-256 565929f271e8a2f710c5cee381ec7abd5adc3fd7e1ed739a462e4f76192d8be8

See more details on using hashes here.

File details

Details for the file uvenv-3.6.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for uvenv-3.6.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3ef0c7da1fd0ae77c279cd4dafd3690d3d312a3b3e5fb63d766559e17b4e9ef1
MD5 4056994c7a2065ad47e8f83860da5b2d
BLAKE2b-256 74ce35da4a1f3cc4bcebc2ce89bd0f2b33df308572185ba850995aeb22390d0a

See more details on using hashes here.

File details

Details for the file uvenv-3.6.5-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for uvenv-3.6.5-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5e3025802450e49863fbb2d4ede016ba6222de840b4994bafe6924043a3cf53f
MD5 a57c638b82b68c83b8097c3db5f51710
BLAKE2b-256 ddc0b82e1c326613207675e292f174ac99fae43486fc859e150c48417062380d

See more details on using hashes here.

File details

Details for the file uvenv-3.6.5-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for uvenv-3.6.5-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 557c8761db7a475a1f4f076399fc7665dc9029112b7dd2a29d1d8ca8c4f995a5
MD5 294663a918a9f88d2774b38d27041f06
BLAKE2b-256 21d6113dcd06507e874296dde74ea0b26dc0e97746f588468c3c0b2b173978aa

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