A project skeleton generator.

project setup skeleton
pip install pyhoe==0.0.1a5



Like Ruby's Hoe, PyHoe aims to help developers by providing a basic project skeleton and convenient make commands. Projects created with pyhoe's default settings include the following:

  • A basic directory structure with templates for README, LICENSE,, .gitignore, and other ubiquitous project files.
  • A virtualenv for the new project.
  • Automated tests using Nosy, which is built upon nose. Mac OSX users will find a nose plugin called Sneazr to display Growl notifications on tests results.
  • Tox, for testing across multiple Python environments.
  • Sphinx for project documentation.


Starting a New Project

$ pyhoe sow smoothjazz
Create virtualenv smoothjazz for this project? [Y/n]: Y
Install recommended packages to virtualenv smoothjazz? [Y/n]: Y
Create documentation for smoothjazz? [Y/n]: Y
Initialize git repository for this project? [Y/n]: Y
...created smoothjazz
...created smoothjazz/tests
...created smoothjazz/smoothjazz
...created smoothjazz/.gitignore
...created smoothjazz/
...created smoothjazz/
...created smoothjazz/MIT-LICENSE
...created smoothjazz/
...created smoothjazz/setup.cfg
...created smoothjazz/
...created smoothjazz/tox.ini
...created smoothjazz/tests
...created smoothjazz/tests/
...created smoothjazz/tests/
...created smoothjazz/smoothjazz
...created smoothjazz/smoothjazz/
...created smoothjazz/smoothjazz/

New python executable in smoothjazz/bin/python
[creates virtualenv]
[installs packages]

Initialized empty Git repository in smoothjazz/.git/

[runs sphinx-quickstart]

Happy coding!


  • Too many decisions? Just use the -y or --yes-to-all flag to go with all the recommended settings.

Requirements & Dependencies

Python 2.7 or superior (that includes 3.0+) is required to use pyhoe for now, although I am considering supporting Python 2.6 as well.