Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Simple project scaffolding for Python
branch: master

Merge pull request #12 from jijisv/master

minor tweeks for python 3
latest commit 90b0ac0280
Aaron Stannard authored
Failed to load latest commit information.
scaffold Python3 changes - byte array to string conversion
tests parentheses for print
.gitignore updates to files updates to files
license.txt updates to files


Scaffold for Python

Inspired by Zed Shaw’s recommended Python project structure from Learn Python the Hard Way exercise #46.

Each project you scaffold will create the following directory structure:


Both and [projectname] are set up automatically to reference your project name as a module. The rest is up to you!

Installing Scaffold

You can view the scaffold package on PyPi here:

To install, simply use pip install scaffold

Running Scaffold

Scaffold installs itself as an executable Python script, so just enter the pyscaffold command on your favorite terminal:

pyscaffold -p "projectname" [-d {base directory}]

You can also run scaffold as a python module if needed:

python -m scaffold -p "projectname" [-d {base directory}]

The -p parameter is the name of your project and is a required field. If you don’t specify a base directory with the -d parameter, scaffold will assume that you want to create your project skeleton in your current working directory.

Sample Usage:

Just to give you an idea of what works and what doesn’t…

pyscaffold -p "http-utils" -d /c/repositories/
pyscaffold -p "mutliplex-py"
pyscaffold -p "lazarus" -d ../

Virtualenvwrapper support

Alternatively, if (the excellent) virtualenvwrapper is installed, Scaffold also works as a project template named base. So you could run:

mkproject -t base projectname

Then virtualenvwrapper will create the virtualenv and the project root and Scaffold will do the rest.


Licensed under Apache 2.0 – see license.txt for details.


I’m not the most experienced Python programmer on the planet, so patches are most certainly welcome :)
-Aaron Stannard

Something went wrong with that request. Please try again.