Brian May <br...@microcomaustralia.com.au> writes: > Just wondered if there are any examples in Debian of python packages > where upstream distribute multiple distinct python modules in the one > source package.
Just about any non-trivial Python package (and some trivial ones) in Debian will have many distinct modules. You're familiar with ‘python-django’, as just one example. Do you mean “multiple distinct Python packages”? > I have such a package, and am wondering if I should be splitting up > the source, package, or just the binary package, leaving everything > combined, or maybe trying to convincing upstream that they shouldn't > combine the (very much related) modules into one source. I think the decision of whether to keep components in a single VCS repository is an important one; the question is mostly about whether the components should always be talked about as a single body of source, with a single version string for releases. If so, then it makes sense to track them in the same VCS repository. The decision of whether components should be separately-installable is a different one, and has more to do with the utility of the components as discrete entities. If it would be useful to have one component installed but not the other associated ones, then efforts should be made to enable that. For decisions about the Debian package, the questions are likewise separate: * If it makes sense for the source to all be in the same VCS repository, I think there is no general need to split it into multiple source packages, and one Debian *source* package is fine. * If components should be separately-installable, those should be built to separate Debian *binary* packages — perhaps from the single Debian *source* package. So those are, IMO, largely distinct questions; you can answer yes to both, or only to one, or to neither. They depend on somewhat-separate factors. As for Python source distributions: the ‘distutils’ library allows nominating multiple top-level packages to build, and those can be shipped in a single ‘sdist’ and appear in a single Debian source package. Once built to a ‘bdist’, the resulting Python packages can be built to distinct Debian binary packages. Often that makes sense. An example of a single source repository which contains multiple distinct Python packages is Docutils. The ‘python-docutils’ Debian source package builds Debian binary packages ‘python-docutils’, ‘python-roman’, and the Python 3 equivalents. -- \ “We suffer primarily not from our vices or our weaknesses, but | `\ from our illusions.” —Daniel J. Boorstin, historian, 1914–2004 | _o__) | Ben Finney -- To UNSUBSCRIBE, email to debian-python-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/85tx11g5v5....@benfinney.id.au