Skip to main content

uvenv: pipx for uv (🦀)

Project description

uvenv: pipx for uv

Inspired by:

Installation

New: uvenv is now also installable via the snap store.
The pip method is still recommended, but if you want to use snap, please check out docs/snap.md!

  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.

Migration from uvx

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.

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.7.2.tar.gz (81.7 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.7.2-py3-none-musllinux_1_2_x86_64.whl (4.2 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

uvenv-3.7.2-py3-none-musllinux_1_2_aarch64.whl (3.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

uvenv-3.7.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.7.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

uvenv-3.7.2-py3-none-macosx_11_0_arm64.whl (3.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

uvenv-3.7.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.7.2.tar.gz.

File metadata

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

File hashes

Hashes for uvenv-3.7.2.tar.gz
Algorithm Hash digest
SHA256 843929b94b4b691c0b6e6c9931045dfa7f80a0eda521a448686ed404c004d220
MD5 3ccef5b5f8801ae1b9cede407e1f181d
BLAKE2b-256 d45cdbb8de3e15ae96796757d57d223b95cda7c9326ef812adb8de83604843a6

See more details on using hashes here.

File details

Details for the file uvenv-3.7.2-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for uvenv-3.7.2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3129d60c6fb45bd3eb846449c403a81a2d8f1c8f8474272dc1493f15261b7909
MD5 577228cd33992221e273bccd0d193858
BLAKE2b-256 f72451c8ee50137d3ee198f4f97d6fa333cb1b351509d599e60c2b6da3bb595a

See more details on using hashes here.

File details

Details for the file uvenv-3.7.2-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for uvenv-3.7.2-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 fb968a50322537cd51e57c6f80444bb322195938f404a1e6fe49bf2931c3952f
MD5 7fd4ecc80cff68890d254d633d9d7e16
BLAKE2b-256 c01bed7f9bf9a79ee4ca0e0085c5d59767757ab6756565078030fa5166fb160c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uvenv-3.7.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 09bd9c128da6181e2c293b42d333994c5d478fe327d79fbc285288279aa01d12
MD5 8d3752a0ee94a1f15ede9f2c1394dfac
BLAKE2b-256 0e9e8245f13a59b32796bf10dcd2a0e5487a958f8c38361b3ef0819efe0df329

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uvenv-3.7.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5f61c524301b6a604488c0e074b474f26ae8d63a151c82e98125b2b238c094dc
MD5 ae3ddbe52aa221be6c0d9ebbf65575f1
BLAKE2b-256 8f617d660580adec9eb8483c827e96cdd4525e0c9ecbf3a7a1df2e95c68cce32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uvenv-3.7.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 95c661c653bd9e3e1edd98fe192f05a28dcd47b577cbc8cfe28bb8129aed9632
MD5 a72cc40b07b5f37593842874367102e6
BLAKE2b-256 a8ef38739ff4334f657d032d2f3cf0ec59e47cb98d934b18665a3c1df66c6de2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uvenv-3.7.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8190ae5ae6b0f76801629abc12a88ae368d76d9f41633b40cbc89dcb699d54b2
MD5 d830f5f7d593232dca2b12bb5862ca44
BLAKE2b-256 dd17fd70b323fab8c705575ea0b9e474f9c621bd641d89832f927e357ffd0b09

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