Skip to main content

Automatically activate, and deactivate virutal environments when entering or leaving directories.

Project description

Venver

Automatically activate, and deactivate virutal environments when entering or leaving directories.

Installation

curl -LsSf https://codeberg.org/narvin/venver/raw/branch/main/bin/install.sh | sh

Once finished, the installation script will print additional instructions to configure your shell.

Usage

Let’s assume you have a python project with a virtual environment like this:

~/
├─ myapp/
│  ├─ .venv/
│  │   ...
│  ├─ src/
│  │   ...
│  ├─ .gitignore
│  ├─ pyproject.toml
│  ├─ README.rst

Add a .venver file to the project root.

cd ~/myapp
echo './.venv' > .venver
~/
├─ myapp/
│  ├─ .venv/
│  │   ...
│  ├─ src/
│  │   ...
│  ├─ .gitignore
│  ├─ .venver
│  ├─ pyproject.toml
│  ├─ README.rst

Navigating anywhere inside the myapp directory will result in the environment at myapp/.venv being activated. And navigating outside of myapp will deactivate the environment.

~ $ cd myapp
~/myapp (.venv) $ cd src
~/myapp/src (.venv) $ cd ~
~ $ cd myapp/src
~/myapp/src (.venv) $

If you manually deactivate the environment, it won’t be automatically activated again until you navigate outside of myapp, then reenter it.

~ $ cd myapp
~/myapp (.venv) $ deactivate
~/myapp $ cd src
~/myapp/src $ cd ~
~ $ cd myapp
~/myapp (.venv) $

You may specify an environment that isn’t in the project directory. This is useful if you have environments you want to reuse. The activation, and deactivation will still be relative to the .venver directory, and not the environment directory.

~/
├─ venvs/
│  ├─ web-venv/
│  │   ...
│  ├─ console-venv/
│  │   ...
cd ~/myapp
echo '~/venvs/web-venv' > .venver
~ $ cd myapp
~/myapp (web-venv) $ cd src
~/myapp/src (web-venv) $ cd ~
~ $ cd myapp/src
~/myapp/src (web-venv) $

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

venver-0.5.1.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

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

venver-0.5.1-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

Details for the file venver-0.5.1.tar.gz.

File metadata

  • Download URL: venver-0.5.1.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for venver-0.5.1.tar.gz
Algorithm Hash digest
SHA256 5fc524a9cd8ac86ce008c602741c9e573c251f09199557a2770f320ddf474700
MD5 03166c17d3914a8e6baca47f6938efe1
BLAKE2b-256 22c59d5b820b3e4458e2387731af7c06cd29b0813de88e0ac9f5670f8ad3f89b

See more details on using hashes here.

File details

Details for the file venver-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: venver-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 15.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for venver-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 965f8318d06c13d9c793215ce5d54de461858885bda7a3c11937eba85666aa3a
MD5 aecef5cf7cb0b8eec890762db115b0a9
BLAKE2b-256 dadf8d336491815ff54cf0ac9afb0cb9f2a524eecc0ea5d07b0dff31ea6adec7

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