Portable reproducible environments for Linux applications
Project description
prenv
portable reproducible environments for Linux applications
What is prenv?
prenv is a tool that allows regular users to deploy applications in a portable and reproducible way.
prenv does not require root privileges to be installed or used. The focus of prenv is to provide a tool that can be used to run applications in a reproducible way, without the need to install dependencies on the host system.
prenv does NOT aim to provide full isolation between environemtns and the host, for such kind case please consider using Docker or Podman.
Which applications can I run with prenv?
Currently you can run applications available to install from the following distributions:
Distro | Status | Command | Exec. time | Notes |
---|---|---|---|---|
Alpine Linux | ✓ | prenv run alpine:3.17 true | 2 | |
openSUSE | ✓ | prenv run opensuse:tumbleweed true | 5 | |
Void Linux | ✓ | prenv run voidlinux true | 5 | |
Amazon Linux | ✓ | prenv run amazonlinux true | 6 | |
Springdale Linux | ✓ | prenv run springdalelinux:9 true | 8 | |
AlmaLinuxOS | ✓ | prenv run almalinux:9 true | 10 | |
CentoOS | ✓ | prenv run centos:9-Stream true | 10 | |
Fedora Linux | ✓ | prenv run fedora:37 true | 10 | |
Rocky Linux | ✓ | prenv run rockylinux:9 true | 10 | |
Arch Linux | ✓ | prenv run archlinux true | 16 |
The Linux images are sourced from https://linuxcontainers.org/ and are based on the official images from the respective distributions.
System Requirements
- Linux or WSL2 (Kernel version >=4.18)
- Python 3.8, 3.9, 3.10 or 3.11
How to install
pip install prenv
How to use
List all the distributions available from the LXC project
# Check the list of supported distro names in the table above
prenv lxc list
Run an in-memory single run container
Run a shell in an Alpine Linux container
prenv run alpine:3.17
Check the apk version:
prenv run alpine:3.17 "apk --version"
Create an in-memory multi run container
prenv create alpine:3.17
Execute a command in a container
prenv execute alpine:3.17 "apk --version"
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 prenv-0.0.4.tar.gz
.
File metadata
- Download URL: prenv-0.0.4.tar.gz
- Upload date:
- Size: 15.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96ed051da8d3b08b4b1341288ba2e232a5a79a00e40d44ddd52db2690c9017ba |
|
MD5 | 69e8b985c04f457e248a32db33d11386 |
|
BLAKE2b-256 | beac01e05e9d97297740df6e3f319bcf3b291e629bc3f049ac4b0cfb209b0fc7 |
File details
Details for the file prenv-0.0.4-py3-none-any.whl
.
File metadata
- Download URL: prenv-0.0.4-py3-none-any.whl
- Upload date:
- Size: 16.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3bbbf801658d16f1796a9418157c0167ed16a3f479da06572aab82facadee44 |
|
MD5 | ee390170353aec3b0cc101b72e6b353b |
|
BLAKE2b-256 | 05e2ce1b8602ee333d6034a72ad4838f254b291c15806a805e3bc00632eca508 |