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, setup.py, .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.
$ 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/CHANGELOG.md ...created smoothjazz/MANIFEST.in ...created smoothjazz/MIT-LICENSE ...created smoothjazz/README.md ...created smoothjazz/setup.cfg ...created smoothjazz/setup.py ...created smoothjazz/tox.ini ...created smoothjazz/tests ...created smoothjazz/tests/__init__.py ...created smoothjazz/tests/smoothjazz_tests.py ...created smoothjazz/smoothjazz ...created smoothjazz/smoothjazz/__init__.py ...created smoothjazz/smoothjazz/main.py 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
--yes-to-allflag to go with all the recommended settings.
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.