Programming Style

1) Indentation:
	Python dependends on correct indentation levels.
	A tab character equals a single indentation level.
	Most editors can display a tab as a user-defined width or number of spaces.
	The expand command can convert a file with tab indentations to a file with space indentation. 
	
2) Naming Conventions:
	CamelCaseNames for files and classes.	
	UPPER_CASE_NAMES for constants.
	lower_case_names for public methods and all variables.
	_underscored_lower_case_names for private methods.

3) Documentation:
	Source code follows the doxygen/javadoc conventions (and will be parsed by doxygen).
	Files begin with a ##comment block, a package name, brief description, and author.
	Constants follow a ##comment line.
	All methods and classes require docstrings.
	Docstrings with javadoc style entries need a leading "!".   

4) Blank Lines:
	Separate all classes and methods with a blank line.
	Group related constants and separate unrelated constants with a blank line.
	Leave 2 blank lines at the end of every file.
	
	