# everyapp.bootstrap

everyapp.bootstrap provides an enhanced and customizable virtualenv bootstrap script. It aims to make it easy to bootstrap a virtual environment for your project.

This project includes a tool to generate a bootstrap script that will automatically create the virtual environment when run. By placing the bootstrap script in the root of your project's source tree and making it available on a fresh checkout/clone from your version control repository, you make it easy for anyone who wants to hack on your project (including yourself!) to work in a consistent development environment.

Additionally, this enhanced bootstrap script can read a configuration file and perform additional actions beyond just creating a bare-bones virtual environment.

## Features

• Easy creation of a virtualenv bootstrap script.
• Better defaults for virtualenv, like using distribute instead of setuptools and always unzipping EGGs.
• Easy customization of the bootstrapping process.
• Automatic installation of additional distributions using pip and/or easy_install.
• Easy customization of pip and easy_install behaviour during distribution installation.
• Automatic execution of additional commands after the bootstrapping is complete.
• Adherence to Semantic Versioning in order to be a well behaved dependency.

## Status

This project is very young and the code should be considered Alpha quality. It has been minimally tested on Linux and Windows, under Python 2.6 and 2.7, but has not yet been seriously tested on any platform.

That said, it is largely just a wrapper and a few customizations on the production-grade virtualenv project [1], so it should be reasonably stable. It should also be mostly feature complete.

## Installation

The easiest way to install this distribution is:

pip install everyapp.bootstrap


or:

easy_install everyapp.bootstrap


## Basic Usage

In your project's root directory, run:

mkbootstrap


This will generate a bootstrap.py script and a bootstrap.cfg configuration file. Edit bootstrap.cfg as desired, then run:

python bootstrap.py


This will create the virtual environment in the root directory for your project.

For additional bootstrap script options and usage information see the usage documentation.

## Documentation and Support

http://pypi.python.org/pypi/everyapp.bootstrap
Documentation:
In the source distribution, or online in the following formats: HTML, EPUB, and PDF.
Bug/issue tracker:
http://bitbucket.org/everyapp/bootstrap/issues
Source code repository:
http://bitbucket.org/everyapp/bootstrap

## Contributing

There is always room for improvement in this project and contributions are certainly welcome. The easiest way to contribute is simply to file a bug report in the issue tracker whenever you find a problem or want to suggest an improvement.

If you would like to participate in a more substantial way, check out the issue tracker, the list of known bugs and the To Do list to find out about the work that still needs to be done.

Note

If you submit a bug report, patch or other code, you automatically agree to licence the contribution. See the licensing information for details on contribution licensing.

## Licence

everyapp.bootstrap is licensed under the GNU General Public License version 3 or later (GPLv3+). This is free software: you are free to change and redistribute it under certain conditions. There is NO WARRANTY, to the extent permitted by law. For full licensing information, see the licensing information.

## Credits

everyapp.bootstrap was created by Krys Lawrence <everyapp at krys ca>.

See the list of authors for the full list of contributors to this project.

This project would not be what it is without the efforts of many people. Acknowledgements for their efforts can be found in the list of acknowledgements.

Footnotes

 [1] Strictly speaking, virtualenv classifies itself as Beta quality, but many consider it to be production-grade.