prenv


Nameprenv JSON
Version 0.0.4 PyPI version JSON
download
home_pagehttps://github.com/joaompinto/prenv
SummaryPortable reproducible environments for Linux applications
upload_time2023-04-07 17:04:47
maintainer
docs_urlNone
authorJoão Pinto
requires_python
licenseMIT
keywords
VCS
bugtrack_url
requirements drclient print_err requests rich termcolor typer
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # prenv

**p**ortable **r**eproducible **env**ironments for Linux applications

[![PyPi](https://img.shields.io/pypi/v/prenv.svg?style=flat-square)](https://pypi.python.org/pypi/prenv)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square)](https://github.com/ambv/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
```sh
pip install prenv
```
## How to use

List all the distributions available from the LXC project
```sh
# 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
```sh
prenv run alpine:3.17
```
Check the apk version:
```sh
prenv run alpine:3.17 "apk --version"
```

### Create an in-memory multi run container
```sh
prenv create alpine:3.17
```
### Execute a command in a container
```sh
prenv execute alpine:3.17 "apk --version"
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/joaompinto/prenv",
    "name": "prenv",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Jo\u00e3o Pinto",
    "author_email": "lamego.pinto@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/be/ac/01e05e9d97297740df6e3f319bcf3b291e629bc3f049ac4b0cfb209b0fc7/prenv-0.0.4.tar.gz",
    "platform": null,
    "description": "# prenv\n\n**p**ortable **r**eproducible **env**ironments for Linux applications\n\n[![PyPi](https://img.shields.io/pypi/v/prenv.svg?style=flat-square)](https://pypi.python.org/pypi/prenv)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square)](https://github.com/ambv/black)\n\n## What is prenv?\n\nprenv is a tool that allows regular users to deploy applications in a portable and reproducible way.\n\nprenv does not require root privileges to be installed or used.\nThe 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.\n > prenv does **NOT** aim to provide full isolation between environemtns and the host, for such kind case please consider using Docker or Podman.\n\n## Which applications can I run with prenv?\n\nCurrently you can run applications available to install from the following distributions:\n\n|Distro|Status|Command|Exec. time|Notes|\n|:----:|:----:|--------|:---------:|:-------|\n|Alpine Linux|\u2713|prenv run alpine:3.17 true|2|\n|openSUSE|\u2713|prenv run opensuse:tumbleweed true|5|\n|Void Linux|\u2713|prenv run voidlinux true|5\n|Amazon Linux|\u2713|prenv run amazonlinux true|6|\n|Springdale Linux|\u2713|prenv run springdalelinux:9 true|8|\n|AlmaLinuxOS|\u2713|prenv run almalinux:9 true|10|\n|CentoOS|\u2713|prenv run centos:9-Stream true|10|\n|Fedora Linux|\u2713|prenv run fedora:37 true|10\n|Rocky Linux|\u2713|prenv run rockylinux:9 true|10|\n|Arch Linux|\u2713|prenv run archlinux true|16|\n\n\n\nThe Linux images are sourced from https://linuxcontainers.org/ and are based on the official images from the respective distributions.\n\n## System Requirements\n\n- Linux or WSL2 (Kernel version >=4.18)\n- Python 3.8, 3.9, 3.10 or 3.11\n\n## How to install\n```sh\npip install prenv\n```\n## How to use\n\nList all the distributions available from the LXC project\n```sh\n# Check the list of supported distro names in the table above\nprenv lxc list\n```\n\n### Run an in-memory single run container\nRun a shell in an Alpine Linux container\n```sh\nprenv run alpine:3.17\n```\nCheck the apk version:\n```sh\nprenv run alpine:3.17 \"apk --version\"\n```\n\n### Create an in-memory multi run container\n```sh\nprenv create alpine:3.17\n```\n### Execute a command in a container\n```sh\nprenv execute alpine:3.17 \"apk --version\"\n```\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Portable reproducible environments for Linux applications",
    "version": "0.0.4",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "05e2ce1b8602ee333d6034a72ad4838f254b291c15806a805e3bc00632eca508",
                "md5": "ee390170353aec3b0cc101b72e6b353b",
                "sha256": "c3bbbf801658d16f1796a9418157c0167ed16a3f479da06572aab82facadee44"
            },
            "downloads": -1,
            "filename": "prenv-0.0.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ee390170353aec3b0cc101b72e6b353b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 16009,
            "upload_time": "2023-04-07T17:04:45",
            "upload_time_iso_8601": "2023-04-07T17:04:45.878243Z",
            "url": "https://files.pythonhosted.org/packages/05/e2/ce1b8602ee333d6034a72ad4838f254b291c15806a805e3bc00632eca508/prenv-0.0.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "beac01e05e9d97297740df6e3f319bcf3b291e629bc3f049ac4b0cfb209b0fc7",
                "md5": "69e8b985c04f457e248a32db33d11386",
                "sha256": "96ed051da8d3b08b4b1341288ba2e232a5a79a00e40d44ddd52db2690c9017ba"
            },
            "downloads": -1,
            "filename": "prenv-0.0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "69e8b985c04f457e248a32db33d11386",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 15507,
            "upload_time": "2023-04-07T17:04:47",
            "upload_time_iso_8601": "2023-04-07T17:04:47.415649Z",
            "url": "https://files.pythonhosted.org/packages/be/ac/01e05e9d97297740df6e3f319bcf3b291e629bc3f049ac4b0cfb209b0fc7/prenv-0.0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-04-07 17:04:47",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "joaompinto",
    "github_project": "prenv",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "drclient",
            "specs": []
        },
        {
            "name": "print_err",
            "specs": []
        },
        {
            "name": "requests",
            "specs": []
        },
        {
            "name": "rich",
            "specs": []
        },
        {
            "name": "termcolor",
            "specs": []
        },
        {
            "name": "typer",
            "specs": []
        }
    ],
    "tox": true,
    "lcname": "prenv"
}
        
Elapsed time: 0.06201s