Jpythonfold.vim is a project mainly written in Vim Script, it's free.
A better python fold script
This is a mirror of http://www.vim.org/scripts/script.php?script_id=2527
This script allows automatically folding of Python code. It completely rewritten from Jorrit Wiersma's script (vimscript #515; other competitors are vimscript#781 and vimscript#2002). The folding and fold text are completely rewritten: the algorithm systematically set up, so it behaves as accurate as possible (at the cost of some speed). Main feature of this script is that it folds empty space, saving lots of screen space (although you can turn it off, see below). Classes and defs are folded, of course. Indent zero comments separating classes and defs are not folded, so you see the global divisions in your code. Global code is folded in blocks (separated by comments).
There are three options. To use them, check the script:
Known bug:
def foo:
#also folded
bar = 5
a = 5 b = 6