Install requirements and run code in virtual environments from the comfort of your own GIL
Project description
Venvception
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.
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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | f15475a85e47c596b950d3a990a81d7bff4980a15f6fd4b76f0332cd322f8559 |
|
MD5 | 1266289e0f232105a6e9e772571fbe85 |
|
BLAKE2b-256 | 26110e9c55877dd0db2ab788122f1d312a8858223f6a5d746cfa095888a9657b |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | b72c14ab60652df2c942be7184546cb7aca9d3a9b8b4c77485ff717ba1e9a1c8 |
|
MD5 | 136afc67fd15d1b2b565e2090f864288 |
|
BLAKE2b-256 | dd0ff0f8d15de002c98e8b4f047209de723ea574ea841421e4e7f2cfe3fed8dd |