virtualenv-seedhelper


Namevirtualenv-seedhelper JSON
Version 0.0.1 PyPI version JSON
download
home_page
SummaryA virtualenv seeder to seed wheels from a folder
upload_time2023-10-21 02:36:35
maintainer
docs_urlNone
author
requires_python>=3.7
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            virtualenv-seedhelper
=====================

A virtualenv seeder to seed wheels from a folder

Quick start
-----------

### Install in system python environment

    python3 -m pip install virtualenv-seedhelper

### Configure virtualenv to always use seedhelper

    seedhelper config

Note that this overwrites `virtualenv.ini` if it already exists.

### Add wheels to SEEDHELPER_WHEELS_DIR one at a time by URL

    seedhelper download https://files.pythonhosted.org/packages/f1/13/63c0a02c44024ee16f664e0b36eefeb22d54e93531630bd99e237986f534/cowsay-6.1-py3-none-any.whl

### Create a new virtualenv

    python3 -m virtualenv venv

### Verify that the new virtualenv has the wheels installed in it

    $ venv/bin/pip list
    Package    Version
    ---------- -------
    cowsay     6.1
    pip        23.2.1
    setuptools 68.2.2
    wheel      0.41.2

### What if we want to seed a package with dependencies?

Instead of looking up and downloading wheel URLs one by one, we can use
`seedhelper require` to download the wheels for all the dependencies of a
requirement, placing all of their wheels in the `SEEDHELPER_WHEELS_DIR` so that
they all get seeded into newly-created virtualenvs.

    seedhelper require requests==2.31.0

After this, we can make a new virtualenv

    python3 -m virtualenv venv

and verify that it has all the dependencies installed

    $ venv/bin/pip list
    Package            Version
    ------------------ ---------
    certifi            2023.7.22
    charset-normalizer 3.3.0
    idna               3.4
    pip                23.2.1
    requests           2.31.0
    setuptools         68.2.2
    urllib3            2.0.7
    wheel              0.41.2

and we can import the package in the venv

    venv/bin/python -c 'import requests'

Config
------

### SEEDHELPER_WHEELS_DIR

This is where seedhelper will download wheels to. It defaults to
`~/Library/Application Support/virtualenv/seedhelper_wheels` (or the
corresponding location on your specific platform as provided by
`platformdirs.user_config_dir()`). You can override it by setting an
environment variable called `SEEDHELPER_WHEELS_DIR`.

### VIRTUALENV_CONFIG_FILE

This is where virtualenv (and seedhelper) will look for `virtualenv.ini`. It
defaults to `~/Library/Application Support/virtualenv/virtualenv.ini` (or the
corresponding location on your specific platform as provided by
`platformdirs.user_config_dir()`). You can override it by setting an
environment variable called `VIRTUALENV_CONFIG_FILE`.

Motivation
----------

The goal is to make it possible to include a set of wheels in every virtualenv
created. This is especially useful when the system-wide pip configuration
assumes that certain packages, such as keyring backends needed to interact with
a private package index, will always be available before pip runs. Without a
seeder, you cannot use pip to install the keyring because pip itself needs the
keyring to be already installed in order to function at all.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "virtualenv-seedhelper",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "",
    "author": "",
    "author_email": "Thomas Gilgenast <thomasgilgenast@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/8f/e4/836c290abbab7c6f442715f28d43e0275f1c59c58a19ec4c62d573c965b4/virtualenv-seedhelper-0.0.1.tar.gz",
    "platform": null,
    "description": "virtualenv-seedhelper\n=====================\n\nA virtualenv seeder to seed wheels from a folder\n\nQuick start\n-----------\n\n### Install in system python environment\n\n    python3 -m pip install virtualenv-seedhelper\n\n### Configure virtualenv to always use seedhelper\n\n    seedhelper config\n\nNote that this overwrites `virtualenv.ini` if it already exists.\n\n### Add wheels to SEEDHELPER_WHEELS_DIR one at a time by URL\n\n    seedhelper download https://files.pythonhosted.org/packages/f1/13/63c0a02c44024ee16f664e0b36eefeb22d54e93531630bd99e237986f534/cowsay-6.1-py3-none-any.whl\n\n### Create a new virtualenv\n\n    python3 -m virtualenv venv\n\n### Verify that the new virtualenv has the wheels installed in it\n\n    $ venv/bin/pip list\n    Package    Version\n    ---------- -------\n    cowsay     6.1\n    pip        23.2.1\n    setuptools 68.2.2\n    wheel      0.41.2\n\n### What if we want to seed a package with dependencies?\n\nInstead of looking up and downloading wheel URLs one by one, we can use\n`seedhelper require` to download the wheels for all the dependencies of a\nrequirement, placing all of their wheels in the `SEEDHELPER_WHEELS_DIR` so that\nthey all get seeded into newly-created virtualenvs.\n\n    seedhelper require requests==2.31.0\n\nAfter this, we can make a new virtualenv\n\n    python3 -m virtualenv venv\n\nand verify that it has all the dependencies installed\n\n    $ venv/bin/pip list\n    Package            Version\n    ------------------ ---------\n    certifi            2023.7.22\n    charset-normalizer 3.3.0\n    idna               3.4\n    pip                23.2.1\n    requests           2.31.0\n    setuptools         68.2.2\n    urllib3            2.0.7\n    wheel              0.41.2\n\nand we can import the package in the venv\n\n    venv/bin/python -c 'import requests'\n\nConfig\n------\n\n### SEEDHELPER_WHEELS_DIR\n\nThis is where seedhelper will download wheels to. It defaults to\n`~/Library/Application Support/virtualenv/seedhelper_wheels` (or the\ncorresponding location on your specific platform as provided by\n`platformdirs.user_config_dir()`). You can override it by setting an\nenvironment variable called `SEEDHELPER_WHEELS_DIR`.\n\n### VIRTUALENV_CONFIG_FILE\n\nThis is where virtualenv (and seedhelper) will look for `virtualenv.ini`. It\ndefaults to `~/Library/Application Support/virtualenv/virtualenv.ini` (or the\ncorresponding location on your specific platform as provided by\n`platformdirs.user_config_dir()`). You can override it by setting an\nenvironment variable called `VIRTUALENV_CONFIG_FILE`.\n\nMotivation\n----------\n\nThe goal is to make it possible to include a set of wheels in every virtualenv\ncreated. This is especially useful when the system-wide pip configuration\nassumes that certain packages, such as keyring backends needed to interact with\na private package index, will always be available before pip runs. Without a\nseeder, you cannot use pip to install the keyring because pip itself needs the\nkeyring to be already installed in order to function at all.\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "A virtualenv seeder to seed wheels from a folder",
    "version": "0.0.1",
    "project_urls": {
        "repository": "https://github.com/sclabs/virtualenv-seedhelper"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "455c8148fc327ecb5492aeec89c58966ff9825afb1498f8805293a20fd475ac3",
                "md5": "a67d108eaede1d2a093ebe6f7eaad04e",
                "sha256": "115e8f0d3528586c9d2f9a91f34823912421341430133380e45785542e231eda"
            },
            "downloads": -1,
            "filename": "virtualenv_seedhelper-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a67d108eaede1d2a093ebe6f7eaad04e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 5609,
            "upload_time": "2023-10-21T02:36:33",
            "upload_time_iso_8601": "2023-10-21T02:36:33.579374Z",
            "url": "https://files.pythonhosted.org/packages/45/5c/8148fc327ecb5492aeec89c58966ff9825afb1498f8805293a20fd475ac3/virtualenv_seedhelper-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8fe4836c290abbab7c6f442715f28d43e0275f1c59c58a19ec4c62d573c965b4",
                "md5": "557f12d7edd68556079a61b7cb3ce8d9",
                "sha256": "2ba0699cab9f5adea88602c90e5df600c16e1eeb049af2b832473586443a47e9"
            },
            "downloads": -1,
            "filename": "virtualenv-seedhelper-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "557f12d7edd68556079a61b7cb3ce8d9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 8026,
            "upload_time": "2023-10-21T02:36:35",
            "upload_time_iso_8601": "2023-10-21T02:36:35.263461Z",
            "url": "https://files.pythonhosted.org/packages/8f/e4/836c290abbab7c6f442715f28d43e0275f1c59c58a19ec4c62d573c965b4/virtualenv-seedhelper-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-21 02:36:35",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "sclabs",
    "github_project": "virtualenv-seedhelper",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "virtualenv-seedhelper"
}
        
Elapsed time: 0.27823s