Skip to main content

Portable reproducible environments for Linux applications

Project description

prenv

portable reproducible environments for Linux applications

PyPi Code style: black

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

prenv-0.0.4.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

prenv-0.0.4-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

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

Hashes for prenv-0.0.4.tar.gz
Algorithm Hash digest
SHA256 96ed051da8d3b08b4b1341288ba2e232a5a79a00e40d44ddd52db2690c9017ba
MD5 69e8b985c04f457e248a32db33d11386
BLAKE2b-256 beac01e05e9d97297740df6e3f319bcf3b291e629bc3f049ac4b0cfb209b0fc7

See more details on using hashes here.

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

Hashes for prenv-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c3bbbf801658d16f1796a9418157c0167ed16a3f479da06572aab82facadee44
MD5 ee390170353aec3b0cc101b72e6b353b
BLAKE2b-256 05e2ce1b8602ee333d6034a72ad4838f254b291c15806a805e3bc00632eca508

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