Skip to main content

Install requirements and run code in virtual environments from the comfort of your own GIL

Project description

Venvception

GitHub Workflow Status (with event)

Venvception is a Python library designed to simplify the process of creating and using temporary virtual environments when you have good reason to stay in the same process. It provides a context manager that automates the setup of a virtual environment, installs specified packages from a requirements.txt file, and ensures that the environment is used for the duration of the context.

venvception in action

Why?

In distributed contexts, it can be convenient to ship a requirements specification rather than pre-baking containers. This library is quick and dirty.

Installation

To install Venvception, run the following command:

pip install venvception

Quick Start / Usage

Here's a simple example to get started with Venvception:

from venvception import venv
from pathlib import Path

# Specify the path to your requirements file
requirements_path = Path("path/to/your/requirements.txt")

# Use the venv context manager to create and activate the virtual environment
with venv(requirements_path) as venv_path:
    # Import a module from the requirements.txt
    import your_module

    # You can also access the path to the virtual environment via `venv_path`
    print(f"Virtual environment created at: {venv_path}")

Ensure your requirements.txt file is properly formatted and accessible at the specified path.

Accessing the Virtual Environment's Path

The context manager yields the path to the temporary virtual environment, allowing you to interact with it directly:

with venv(Path("requirements.txt")) as venv_path:
    print(venv_path)

Contributing

Contributions to Venvception are welcome! Please feel free to submit pull requests, report bugs, or suggest features through the issue tracker.

License

Venvception is released under the MIT License.

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

venvception-0.0.2.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

venvception-0.0.2-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file venvception-0.0.2.tar.gz.

File metadata

  • Download URL: venvception-0.0.2.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.1

File hashes

Hashes for venvception-0.0.2.tar.gz
Algorithm Hash digest
SHA256 f15475a85e47c596b950d3a990a81d7bff4980a15f6fd4b76f0332cd322f8559
MD5 1266289e0f232105a6e9e772571fbe85
BLAKE2b-256 26110e9c55877dd0db2ab788122f1d312a8858223f6a5d746cfa095888a9657b

See more details on using hashes here.

File details

Details for the file venvception-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: venvception-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.1

File hashes

Hashes for venvception-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b72c14ab60652df2c942be7184546cb7aca9d3a9b8b4c77485ff717ba1e9a1c8
MD5 136afc67fd15d1b2b565e2090f864288
BLAKE2b-256 dd0ff0f8d15de002c98e8b4f047209de723ea574ea841421e4e7f2cfe3fed8dd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page