[kforge-dev] python package name: domainmodel or dm
Rufus Pollock
rufus.pollock at okfn.org
Tue Jul 11 11:59:30 UTC 2006
We're just about to start work on moving kforge.core out to a separate
project. We've agreed to call the overall project Domain Model
(domainmodel for knowledgeforge project name) but there has been some
debate about what to call the base python package.
My preference has been go with the short 'dm'. This is similar to many
other projects such as:
* turbogears which uses 'tg' as its base package name
* Python Imaging Library which uses 'PIL' as its base name
* Fourthought xml/xslt/rdf library which uses 'Ft'
* Gnome Toolkit which uses gtk
John however has indicated a liking for the full 'domainmodel'. This
approach is used for example by projects such as:
* Cherrypy: cherrpy
* MoinMoin comes as package MoinMoin
* Matplotlib comes as package matplotlib (though it also uses pylab)
It is noticeable that most projects that use the full name for the
python package have names that aren't too long or depend on from x
import y (e.g. sqlobject).
This also relates to how one tends to do imports. Either:
{{{
import blah.foo
xx = blah.foo.FooBar()
}}}
or
{{{
from blah.foo import FooBar
xx = FooBar()
}}}
The length of packages names makes more difference in the first approach
than in the second. I have a mild preference for the first approach as
it is guaranteed to avoid any local name clashes and also makes it
easier to see immediately see the source module/package for a given object.
Regards,
Rufus
More information about the kforge-dev
mailing list