Skip to main content

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.

Metadata

Release files for virtualenv-seedhelper 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for virtualenv-seedhelper 0.0.1
File Size Uploaded Provenance Actions
virtualenv-seedhelper-0.0.1.tar.gz 8.0 kB Without provenance Details for virtualenv-seedhelper-0.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for virtualenv-seedhelper 0.0.1
File Interpreter ABI Platform Actions
virtualenv_seedhelper-0.0.1-py3-none-any.whl Python 3 none any Details for virtualenv_seedhelper-0.0.1-py3-none-any.whl

Total release size: 13.6 kB

Release files / virtualenv-seedhelper-0.0.1.tar.gz

Download URL virtualenv-seedhelper-0.0.1.tar.gz
Size 8.0 kB
Tags Source
SHA-256 checksum
How to use checksums
2ba0699cab9f5adea88602c90e5df600c16e1eeb049af2b832473586443a47e9
BLAKE2b-256 checksum
How to use checksums
8fe4836c290abbab7c6f442715f28d43e0275f1c59c58a19ec4c62d573c965b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / virtualenv_seedhelper-0.0.1-py3-none-any.whl

Download URL virtualenv_seedhelper-0.0.1-py3-none-any.whl
Size 5.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
115e8f0d3528586c9d2f9a91f34823912421341430133380e45785542e231eda
BLAKE2b-256 checksum
How to use checksums
455c8148fc327ecb5492aeec89c58966ff9825afb1498f8805293a20fd475ac3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Security for virtualenv-seedhelper 0.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page