Should have done this in commit cb4eae7.
The tests for Django 1.3 are failing using the relative import (introduced in commit da53b57), because Django does this janky thing where it django.core.management assumes your settings are at the root of your project package, and imports that package. Problem is, once a sub-package, such as gcframe.tests is imported as a package (tests) Python will no longer let you do a relative import beyond that new root. An absolute import avoids that issue.
I think the way I formatted it in commit 741f09c will not work, now that I watch Travis choke on it. :D
This reverts commit b8f11ef. Python 2.5 and Django 1.2 support have been dropped, so we can use these newer methods, and should, because the older ones have been deprecated in the now-supported Python 3.
Include one for compiled byte code as well.
Note that we did not use string_literals in the setup.py. That is because Python 2 requires that the setup packages argument provide a list of bytes, but Python 3 requires a list of strs. If string_literals are used, you must mark the strings with ``b`` for it to work in Python 2, but that makes it fail in Python 3.
Tuple can be concatenated to a list without issue, so there is no problem here. (Unlike concatenating a list to a tuple, which fails.)
Depending on what happens in the package __init__.py, you can have import issues when importing into the setup.py, when setup is not complete. This way is slightly more complex, but avoids the import issues. Thanks to carljm for the example.
Also shifted the section on documentation up.
I moved the testing docs into a development docs, and added the doc docs. (Yo dawg!)
Thanks to Daniel Lindsley (toastdriven) for pointing it out.
Tests failed against Django 1.2.7 with Python 2.5 and 2.6 because we were using methods that that shipped in Python 2.7, which Django included a copy of in 1.3.