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.2.tar.gz (78.3 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.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

uvenv-3.6.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

uvenv-3.6.2-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.2.tar.gz.

File metadata

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

File hashes

Hashes for uvenv-3.6.2.tar.gz
Algorithm Hash digest
SHA256 0aa3a0511e95d07799482b18863d17b32aba9cd978ffac0e8b1d897559c83728
MD5 9bb7806a85356d48da3ff1cee6f61ca0
BLAKE2b-256 7ffb6064e2459f14f787f0103e206b7e83c0065b305f31702d97e76b7d9d3edc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uvenv-3.6.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f6df911ed1055cba3851c1f6c19b2bf5f18de6c703a60eb0d9153f8ce12ab054
MD5 e6519493962aaf0af8a05db3df7302c1
BLAKE2b-256 62ae7eeb04d624e61a186723c06ce40c6fa5d5a65c4714b60124789264821e80

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uvenv-3.6.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a8af7938e28c91bd5921ff4e91670f8fdeeffae7561d5b0e635333989c26ae3f
MD5 6d11eda827ace2fb43e1b4a639b05607
BLAKE2b-256 eac458afb5ab889476ed1408fe2fab76274a4c7c810fe067f01a4e913d95a607

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uvenv-3.6.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ac27de8bc32136c18defa6d6d582368fcbfecdf57aa5a927e9282cd6baa03948
MD5 e19ba03cab2ea177a11bf584f40da64f
BLAKE2b-256 5fa458d6261e570e68ca579d6bbae56f595793afaede1a64c078b10a92664406

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uvenv-3.6.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6ad06ffeae1c8dd678830b264893b2c13536378d7d54c216afb1495959c3bd2b
MD5 77a8d72efc687a8366736c84c6a18cbb
BLAKE2b-256 4b56de309a1a5e74d848d165bd01424e76dae5206dbb8fcb60960d0a5a19b6cb

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