On Tue, Apr 03, 2012 at 04:35:17PM +0100, Otto Maddox wrote: > Hi, > > I have a Python project which follows a client-server architecture. It > is natural to develop it as two different projects and in two different > source distributions, myproject-server.tar.gz and > myproject-client.tar.gz. > > Neither package depends on the other, but because they are part of a > larger, overarching project, I want install each of them so that they > appear as subpackages (myproject.server and myproject.client) under a > common superpackage (myproject). I am looking for the cleanest and most > correct way to do this using distutils and setup.py, so that I can end > up with a structure like this: > > site-packages/myproject > site-packages/myproject/__init__.py > > site-packages/myproject/server/__init__.py > site-packages/myproject/server/file1.py > site-packages/myproject/server/file2.py > > site-packages/myproject/client/__init__.py > site-packages/myproject/client/file3.py > site-packages/myproject/client/file4.py > > and so that any of the following commands (and their standard > variations) work: > > import myproject > import myproject.server > import myproject.client > > Is there a way to write distutils/setup.py to do this?
You would probably interested about setuptools' namespace support for doing this, you can have a look at http://packages.python.org/distribute/setuptools.html#namespace-packages Additionnaly, if you are looking for examples, the Zope community is well known for the use of namespaced packages - have a look at the zope., zc., z3c., collective., plone., etc. namespaces. Jonathan _______________________________________________ Distutils-SIG maillist - [email protected] http://mail.python.org/mailman/listinfo/distutils-sig
