Development¶
Contributing¶
Refer to the pip development documentation - it applies equally to virtualenv, except that virtualenv issues should be filed on the virtualenv repo at GitHub.
Virtualenv’s release schedule is tied to pip’s – each time there’s a new pip release, there will be a new virtualenv release that bundles the new version of pip.
Files in the virtualenv_embedded/
subdirectory are embedded into
virtualenv.py
itself as base64-encoded strings (in order to support
single-file use of virtualenv.py
without installing it). If your patch
changes any file in virtualenv_embedded/
, run tox -e embed
to update
the embedded version of that file in virtualenv.py
; commit that and submit
it as part of your patch / pull request. The tox run will report failure
when changes are embedded, as a flag for CI.
The codebase should be linted before a pull request is merged by running
tox -e fix_lint
. The tox run will report failure when any linting
revisions are required, as a flag for CI.
Running the tests¶
The easy way to run tests (handles test dependencies automatically, works with the sdist
too):
$ tox
Note you need to first install tox separately by using::
$ python -m pip --user install -U tox
Run python -m tox -av
for a list of all supported Python environments or just run the
tests in all of the available ones by running just tox
.
Status and License¶
virtualenv
is a successor to workingenv, and an extension
of virtual-python.
It was written by Ian Bicking, sponsored by the Open Planning Project and is now maintained by a group of developers. It is licensed under an MIT-style permissive license.