[issue35830] building multiple (binary) packages from a single project

New submission from Stefan Seefeld <stefan@seefeld.name>: I'm working on a project that I'd like to split into multiple separately installable components. The main component is a command-line tool without any external dependencies. Another component is a GUI frontend that adds some third-party dependencies. Therefore, I'd like to distribute the code in a single source package, but separate binary packages (so users can install only what they actually need). I couldn't find any obvious way to support such a scenario with either `distutils` nor `setuptools`. Is there an easy solution to this ? (I'm currently thinking of adding two `setup()` calls to my `setup.py` script. That would then call all commands twice, so I'd need to override the `sdist` command to only build a single (joint) source package. Is there a better way to achieve what I want ? ---------- assignee: docs@python components: Distutils, Documentation messages: 334381 nosy: docs@python, dstufft, eric.araujo, stefan priority: normal severity: normal status: open title: building multiple (binary) packages from a single project type: behavior _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue35830> _______________________________________

Steven D'Aprano <steve+python@pearwood.info> added the comment: This is a bug tracker for reporting bugs and enhancement requests, not a help desk. Do you have a *specific* feature request or a bug to report? If not, you should ask this on a community forum such as Stackoverflow, Reddit's r/learnpython, the Python-list mailing list or the Python IRC channel. ---------- nosy: +steven.daprano _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue35830> _______________________________________

Stefan Seefeld <stefan@seefeld.name> added the comment: Yes. Depending on the answer to my question(s), the request either becomes: "please add support for this use-case", or "this use-case isn't documented properly", i.e. a feature request or a bug report. You choose. :-) ---------- _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue35830> _______________________________________

Éric Araujo <merwok@netwok.org> added the comment: The way to achieve this is to make sure your two components live in two separate directories, each with its setup.py. This is the simple way that works with distutils/setuptools and pip install-from-vcs (you can install from a subdir of a repo). ---------- _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue35830> _______________________________________

Change by Stefan Seefeld <stefan@seefeld.name>: ---------- resolution: -> works for me stage: -> resolved status: open -> closed _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue35830> _______________________________________
participants (3)
-
Stefan Seefeld
-
Steven D'Aprano
-
Éric Araujo