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.4.tar.gz (16.4 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.4-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: venver-0.5.4.tar.gz
  • Upload date:
  • Size: 16.4 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.4.tar.gz
Algorithm Hash digest
SHA256 9788520bd6e1c14f7e7f469a0c22e69bdf9e5cb37cd3b9dfb693313ceb4bbae5
MD5 ca983e970c01694da9393ff2ec308591
BLAKE2b-256 eb6bc8793558c74bcc984d8b8312a55578552fabb42c9687b92e1e4bead702bf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: venver-0.5.4-py3-none-any.whl
  • Upload date:
  • Size: 16.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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c146bef67a40daa092e45fd502216559fdf27f2c2e7ed7fc35c419d809a0afe5
MD5 46de5fae52aa43d8feceda6b507110c6
BLAKE2b-256 cd74901de0d388b2693e9ba558c2d32f9fa31b2f743e8bea1935aab1454a4ff8

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