1 | | = Guidelines for writing, distributing and using Django applications = |
2 | | |
3 | | See |
4 | | * http://groups.google.com/group/django-developers/browse_thread/thread/bdcad26ab044cb96 |
5 | | * http://www.b-list.org/weblog/2008/sep/07/slides/ and http://media.b-list.org/presentations/2008/djangocon/reusable_apps.pdf |
6 | | |
7 | | = Guidelines for reusable application authors = |
8 | | |
9 | | * '''namespace''': apps should live in `django.apps`, i.e. if your app is named `frobnicate`, your code should be in `django.apps.frobnicate` |
10 | | * FIXME alternative: require use of namespace packages, see http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages , review how Zope does it |
11 | | * FIXME '''Django version''': somehow the Django version used has to be conveyed (`django1.0-comments`?), again Zope app versioning should help |
12 | | * '''publishing''': apps should be packaged with `setuptools` and published in the [http://pypi.python.org/pypi Python Package Index], under trove category `Framework :: Django` |
13 | | * '''dependencies''': ordinary `setuptools` dependency handling |
14 | | |
15 | | = Package index = |
16 | | |
17 | | Additionally to the PyPi index, a separate indexing service with ratings, groupings and whatnot would be useful. [http://djangoplugables.com Django Pluggables] is a nice start. |