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"
Metadata
Release files for prenv 0.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| prenv-0.0.4.tar.gz | 15.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| prenv-0.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.5 kB
Release files / prenv-0.0.4.tar.gz
| Download URL | prenv-0.0.4.tar.gz |
|---|---|
| Size | 15.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
96ed051da8d3b08b4b1341288ba2e232a5a79a00e40d44ddd52db2690c9017ba
|
|
BLAKE2b-256 checksum How to use checksums |
beac01e05e9d97297740df6e3f319bcf3b291e629bc3f049ac4b0cfb209b0fc7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / prenv-0.0.4-py3-none-any.whl
| Download URL | prenv-0.0.4-py3-none-any.whl |
|---|---|
| Size | 16.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c3bbbf801658d16f1796a9418157c0167ed16a3f479da06572aab82facadee44
|
|
BLAKE2b-256 checksum How to use checksums |
05e2ce1b8602ee333d6034a72ad4838f254b291c15806a805e3bc00632eca508
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|