# Development

## Contributing

Refer to the pip development documentation - it applies equally to virtualenv, except that virtualenv issues should 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 bin/rebuild-script.py to update the embedded version of that file in virtualenv.py; commit that and submit it as part of your patch / pull request.

## Running the tests

Virtualenv’s test suite is small and not yet at all comprehensive, but we aim to grow it.

The easy way to run tests (handles test dependencies automatically):

    $ python setup.py test

If you want to run only a selection of the tests, you’ll need to run them directly with pytest instead. Create a virtualenv, and install required packages:

    $ pip install pytest mock

Run pytest:

    $ pytest

Or select just a single test file to run:

    $ pytest tests/test_virtualenv

## 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.