We need to make a decision about the packaging module in Python 3.3.
Please read this message and breathe deeply before replying :)
[Sorry this ends up being so long; Tarek, Georg, Guido, I hope you
have the time to read it.]
Let me first summarize the history of packaging in the standard
library. (Please correct if I misremember something; this email
expresses my opinion and I did not talk with Tarek or Alexis before
writing it.) Two years ago the distutils2 (hereafter d2) project was
started outside of the stdlib, to allow for fast-paced changes, releases
and testing before merging it back. Changes in distutils were reverted
to go back to misfeature-for-misfeature compatibility (but not
bug-for-bug: bug fixes are allowed, unless we know for sure everyone is
depending on them or working around them).
Tarek’s first hope was to have something that could be included in
2.7 and 3.2, but these deadlines came too fast. At one point near the
start of 2011 (didn’t find the email) there was a discussion with Martin
about adding support for the stable ABI or parallel builds to distutils,
in which Tarek and I opposed adding this new feature to distutils as per
the freeze policy, and Martin declared he was not willing to work
outside of the standard library. We (d2 developers and python-dev) then
quickly agreed that distutils2 would be merged back after the release of
3.2, which was done. There was no PEP requested for this addition,
maybe because this was not a fully new module but an improvement of an
existing one with real-world-tested features, or maybe just because
nobody thought about the process. In retrospect, a PEP would have
really helped define the scope of the changes and the roadmap for packaging.
Real life caused contributors to come and go, and the primary
maintainer (Tarek at first, me since last December) to be at times very
busy (like me these last three months), with the result that packaging
is in my opinion just not ready. Many big and small things need more
work: the three packaging PEPs implemented in d2 have small flaws or
missing pieces (I’m not repeating the list here to avoid spawning
subthreads) that need to be addressed, we’ve started to get feedback
from users and developers only recently (pip and buildout devs since
last PyCon for example) the public Python API of d2 is far from great,
the implementation is of very unequal quality, important features have
patches that are not fully ready (—and I do acknowledge that I am the
blocker for reviews on many of them—), the compiler system has not been
revised, tests are not all clear and robust, some of the bdist commands
need to be removed, a new bdist format needs to be designed, etc.
With beta coming, a way to deal with that unfortunate situation needs
to be found. We could (a) grant an exception to packaging to allow
changes after beta1; (b) keep packaging as it is now under a provisional
status, with due warnings that many things are expected to change; (c)
remove the unstable parts and deliver a subset that works (proposed by
Tarek to the Pyramid author on distutils-sig); (d) not release packaging
as part of Python 3.3 (I think that was also suggested on distutils-sig
last month).
I don’t think (a) would give us enough time; we really want a few
months (and releases) to hash out the API (most notably with the pip and
buildout developers) and clean the bdist situation. Likewise (c) would
require developer (my) time that is currently in short supply. (b) also
requires time and would make development harder, not to mention probable
user pain. This leaves (d), after long reflection, as my preferred
choice, even though I disliked the idea at first (and I fully expect
Tarek to feel the same way).
I’d like to stress that this is not as bad as it appears at first.
We (I) will have to craft reassuring wording to explain why 3.3b1 does
not include packaging any more, but I believe that it would be worse for
our users (code-wise and PR-wise) to deliver a half-finished version in
3.3 rather than to retract it and wait for 3.4. And if we keep in mind
that many people are still using a 2.x version, releasing in 3.3 or 3.4
makes no change for them: the standalone releases on PyPI will keep coming.
Developer-wise, this would *not* mean that the considerable effort
that went into porting and merging, and the really appreciated patches
from developers such as Vinay, would have been in vain: even if
packaging is removed from the main repo (or just from the release
systems), there would be a clone to continue development, or the module
would be added back right after the 3.3 release, or we would develop in
the d2 repo and merge it back when it’s ready—this is really an
implementation detail for the decision; my point is that the work will
not be lost.
Thanks for reading; please express your opinion (especially Tarek as
d2 project lead, Georg as RM and Guido as BDFL).
_______________________________________________
Python-Dev mailing list
Pytho...@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/dev-python%2Bgarchive-30976%40googlegroups.com
Reverting and writing a full packaging PEP for 3.4 sounds like a wise course of action to me.
Regards,
Nick.
--
Sent from my phone, thus the relative brevity :)
I would go with (d) -- it's still available on PyPI, and having a
half-done product in the final release would not be good.
~Ethan~ (as ordinary user ;)
...
> With beta coming, a way to deal with that unfortunate situation needs to
> be found. We could (a) grant an exception to packaging to allow changes
> after beta1; (b) keep packaging as it is now under a provisional status,
> with due warnings that many things are expected to change; (c) remove
> the unstable parts and deliver a subset that works (proposed by Tarek to
> the Pyramid author on distutils-sig); (d) not release packaging as part
> of Python 3.3 (I think that was also suggested on distutils-sig last
> month).
I think it'd be very wise to choose (d) here. We've lived so long
without a credible packaging story that waiting one (or even two) more
major release cycles isn't going to make a huge difference in the long
run but including a version of packaging now which gets fixed in a rush
would probably end up muddying the already dark waters of Python
software distribution.
- C
The question is what will happen after 3.3. There doesn't seem to be a
lot of activity around the project, does it?
Regards
Antoine.
_______________________________________________
Python-Dev mailing list
Pytho...@python.org
http://mail.python.org/mailman/listinfo/python-dev
Thanks for the detailed explanation, Éric. Just quoting this paragraph,
since it contains the possibilities to judge:
> With beta coming, a way to deal with that unfortunate situation needs
> to be found. We could (a) grant an exception to packaging to allow
> changes after beta1; (b) keep packaging as it is now under a provisional
> status, with due warnings that many things are expected to change; (c)
> remove the unstable parts and deliver a subset that works (proposed by
> Tarek to the Pyramid author on distutils-sig); (d) not release packaging
> as part of Python 3.3 (I think that was also suggested on distutils-sig
> last month).
(a) and (b) are certainly out of the question. packaging must be solid
when shipped, and there's not enough time. (c) might work (depending on
what features we're talking about), but you say yourself that you won't
be able to spend the time required, so I agree with basically everybody
else that (d) is the way to go (together with a PEP).
Georg
It's a pity, but it sounds like the way to go.
This may be crazy, but just idly wondering: is there an opportunity
for the PSF to make things better by throwing some money at it?
Packaging appears to be one of those Hard problems, it might be a good
investment.
Cheers,
Dirkjan
What is the status of the third party module on PyPI (distutils2)?Does it contain all fixes done in the packaging module? Does it haveexactly the same API? Does it support Python 2.5 to 3.3, or maybe also2.4?How is the distutils2 module installed? Installed manually? Using pipor setuptools? Is distutils2 included in some Linux distributions?If it's simple to install distutils2, it's not a big deal to not haveit in the stdlib.--It is sometimes a pain to have a buggy module in Python. For example,I got a lot of issues with the subprocess module of Python 2.5. Istarted to include a copy of the subprocess module from Python 2.7 inmy projects to workaround these issues.In my previous work we did also backport various modules to get thelast version of the xmlrpc client on Python 2.5 (especially forHTTP/1.1, to not open a new TCP socket at each request).I don't want to reopen the discussion "the stdlib should be anexternal project". I just want to confirm that it is better to waituntil important users of the packaging API have finished their work(on porting their project to distutils2, especially pip), before wecan declare the module (and its API) as stable.By the way, what is the status of "pip using distutils2"?
Victor_______________________________________________Python-Dev mailing list
Yeah I feel the same way. +1 for (d). I had unfortunately no time
lately. Thanks for picking up things.
We want a solid distutils replacement, and I think we wrote solid PEPs
and seemed to have find consensus for most issues in the past two years.
So I prefer to hold it and have a solid implementation in the stldib.
The only thing I am asking is to retain ourselves to do *anything* in
distutils and continue to declare it frozen, because I know it will be
tempting to do stuff there...
Cheers
Tarek
That policy has been a bit annoying. Gentoo has been carrying patches
forever to improve compilation with C++ stuff (mostly about correctly
passing on environment variables), and forward-porting them on every
release gets tedious, but the packaging/distutils2 effort has made it
harder to get them included in plain distutils. I understand there
shouldn't be crazy patching in distutils, but allowing it to inch
forward a little would make the lives of the Gentoo Python team
easier, at least.
Cheers,
Dirkjan
Maybe these new features could be implemented in packaging, then bridged
in Distutils ?
the Compilation feature is isolated enough to do this.
In any case, I guess we should have some kind of policy in place where
we list the exceptions when distutils
can be changed.
Maybe in the packaging PEP ?
Cheers
Tarek
> Let's make things clear: packaging is suffering from a lack of
> developer involvement,
Absolutely.
And to be more precise: solid hands-on leadership. Eric wrote it in his
original mail: both packaging maintainers are burned out/busy. That’s a state
that is very unlikely to attract more developers – myself included.
> and a lack of user interest.
Maybe I'm getting you wrong here, but ISTM that proper packaging is in the
short list on nearly everybody’s “things I wish they'd fix in Python”.
I agree, but I think people have also been burnt by the setuptools
maintenance problem, the setuptools -> distribute migration, the
easy_install / pip duality, and other stuff. I'm not sure they want to
try out "yet another third-party distutils improvement from the
cheeseshop".
Regards
Antoine.
We probably should put the cli part in a separate PEP, as the scopes
aren't the same that the ones I see for packaging.pypi / depgraph
> I would suggest looking at PEP 405 (venv) and PEP 397 (Windows
> launcher) to get an idea of the kind of content that might be
> appropriate. It's definitely not necessary to reproduce the full API
> details verbatim in the PEP text - it's OK to provide highlights and
> point to a reference implementation for the full details.
Thanks for the pointers, will read them and try to come back with a PEP
proposal.
Alexis
Sorry I can’t take the time to reply to all messages, this week I’m
fully busy with work and moving out.
To answer or correct a few things:
- I am lacking time these months, but that’s because I’m still getting
used to having a full-time job and being settled into a new country.
With the feedback we’ve been getting from people recently, I am
motivated, not burned out.
- I have started building a group of distutils2 contributors here in
Montreal. People are motivated, but it takes time to learn the codebase
and tackle on the big things.
- The four modules identified as minimal, standalone, good subset all
have big problems (the PEPs have open issues, and the modules' APIs need
improvements).
- Tarek, Georg and Guido have pronounced. With all the respect I have
for Antoine’s opinion, and the valid concerns he raises and that I don’t
answer here, I consider option (d) accepted and will scrap one hour to
do it before b1.
Regards
Tarek seems to think otherwise... looks like in the end, this subset could
only be included as "provisional".
Georg
>
> Georg
>
> _______________________________________________
> Python-Dev mailing list
> Pytho...@python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: http://mail.python.org/mailman/options/python-dev/ziade.tarek%40gmail.com
On Wed, Jun 20, 2012 at 9:46 PM, Antoine Pitrou <soli...@pitrou.net> wrote:The existence of setuptools means that "proven in the wild" is never
> Agreed, especially if the "proven in the wild" criterion is required
> (people won't rush to another third-party distutils replacement, IMHO).
going to fly - a whole lot of people use setuptools and easy_install
happily, because they just don't care about the downsides it has in
terms of loss of control of a system configuration.
On Thu, Jun 21, 2012 at 2:44 PM, Chris McDonough <chr...@plope.com> wrote:Cool. This is the kind of thing we need recorded in a PEP - there's a
> All of these are really pretty minor issues compared with the main benefit
> of not needing to ship everything with everything else. The killer feature
> is that developers can specify dependencies and users can have those
> dependencies installed automatically in a cross-platform way. Everything
> else is complete noise if this use case is not served.
lot of domain knowledge floating around in the heads of packaging
folks that needs to be captured so we can know *what the addition of
packaging to the standard library is intended to fix*.
And, like it or not, setuptools has a serious PR problem due to the
fact it monkeypatches the standard library, uses *.pth files to alter
sys.path for every installed application by default, actually *uses*
the ability to run code in *.pth files and has hard to follow
documentation to boot. I *don't* trust that I fully understand the
import system on any machine with setuptools installed, because it is
demonstrably happy to install state to the file system that will
affect *all* Python programs running on the machine.
A packaging PEP needs to explain:
- what needs to be done to eliminate any need for monkeypatching
- what's involved in making sure that *.pth are *not* needed by default
- making sure that executable code in implicitly loaded *.pth files
isn't used *at all*
On 06/21/2012 04:45 AM, Nick Coghlan wrote:I don't know about Red Hat but both Ubuntu and Apple put all kinds of stuff on the default sys.path of the system Python of the box that's related to their software's concerns only. I don't understand why people accept this but get crazy about the fact that installing a setuptools distribution using easy_install changes the default sys.path.
On Thu, Jun 21, 2012 at 2:44 PM, Chris McDonough<chr...@plope.com> wrote:
All of these are really pretty minor issues compared with the main benefit
of not needing to ship everything with everything else. The killer feature
is that developers can specify dependencies and users can have those
dependencies installed automatically in a cross-platform way. Everything
else is complete noise if this use case is not served.
Cool. This is the kind of thing we need recorded in a PEP - there's a
lot of domain knowledge floating around in the heads of packaging
folks that needs to be captured so we can know *what the addition of
packaging to the standard library is intended to fix*.
And, like it or not, setuptools has a serious PR problem due to the
fact it monkeypatches the standard library, uses *.pth files to alter
sys.path for every installed application by default, actually *uses*
the ability to run code in *.pth files and has hard to follow
documentation to boot. I *don't* trust that I fully understand the
import system on any machine with setuptools installed, because it is
demonstrably happy to install state to the file system that will
affect *all* Python programs running on the machine.
On Thu, Jun 21, 2012 at 7:28 PM, David Cournapeau <cour...@gmail.com> wrote:That low level role is filled by PEP 345 (the latest PyPI metadata
> If specifying install dependencies is the killer feature of setuptools, why
> can't we have a very simple module that adds the necessary 3 keywords to
> record it, and let 3rd party tools deal with it as they wish ? That would
> not even require speciying the format, and would let us more time to deal
> with the other, more difficult questions.
format, which adds the new fields), PEP 376 (local installation
database) and PEP 386 (version numbering schema).
The corresponding packaging submodules are the ones that were being
considered for retention as a reference implementation in 3.3, but are
still slated for removal along with the rest of the package (the
reference implementations will remain available as part of distutils2
on PyPI).
Whatever UI a Python packaging solution presents to a user, it needs
to support those 3 PEPs on the back end for interoperability with
other tools (including, eventually, the packaging module in the
standard library).
Your feedback on the commands/compilers design sounds valuable, and I
would be very interested in seeing a PEP targeting that aspect of the
new packaging module (if you look at the start of this thread, the
failure to improve the compiler API is one of the reasons for pulling
the code from 3.3).
On Wed, Jun 20, 2012 at 11:57 PM, Nick Coghlan <ncog...@gmail.com> wrote:
>
> Right - clearly enumerating the features that draw people to use
> setuptools over just using distutils should be a key element in any
> PEP for 3.4
>
> I honestly think a big part of why packaging ended up being incomplete
> for 3.3 is that we still don't have a clearly documented answer to two
> critical questions:
> 1. Why do people choose setuptools over distutils?
Some of the reasons:
* Dependencies
* Namespace packages
* Less boilerplate in setup.py (revision control, data files support, find_packages(), etc.)
* Entry points system for creating extensible applications and frameworks that need runtime plugin discovery
* Command-line script wrappers
* Binary plugin installation system for apps (i.e. dump eggs in a directory and let pkg_resources figure out what to put on sys.path)
* "Test" command
* Easy distribution of (and runtime access to) static data resources
Of these, automatic dependency resolution with as close to 100% backward compatibility for installing other projects on PyPI was almost certainly the #1 factor driving setuptools' initial adoption. The 20% that drives the 80%, as it were. The rest are the 80% that brings in the remaining 20%.
>
> 2. What's wrong with setuptools that meant the idea of including it
> directly in the stdlib was ultimately dropped and eventually replaced
> with the goal of incorporating distutils2?
Based on the feedback from Python-Dev, I withdrew setuptools from 2.5 because of what I considered valid concerns raised regarding:
1. Lack of available persons besides myself familiar with the code base and design
2. Lack of design documents to remedy #1
3. Lack of unified end-user documentation
And there was no time for me to fix all of that before 2.5 came out, although I did throw together the EggFormats documentation. After that, the time window where I was being paid (by OSAF) for setuptools improvements came to an end, and other projects started taking precedence.
Since then, setuptools *itself* has become stable legacy code in much the same way that the distutils has: pip, buildout, and virtualenv all built on top of it, as it built on top of the distutils. Problem #3 remains, but at least now there are other people working on the codebase.
> If the end goal is "the bulk of the setuptools feature set
> without the problematic features and default behaviours that make
> system administrators break out the torches and pitchforks", then we
> should *write that down* (and spell out the implications) rather than
> assuming that everyone knows the purpose of the exercise.
That's why I brought this up. ISTM that far too much of the knowledge of what those use cases and implications are, has been either buried in my head or spread out among diverse user communities in the past.
Luckily, a lot of people from those communities are now getting considerably more involved in this effort. At the time of, say, the 2.5 setuptools question, there wasn't anybody around but me who was able to argue the "why eggs are good and useful" side of the discussion, for example.
(If you look back to the early days of setuptools, I often asked on distutils-sig for people who could help assemble specs for various things... which I ended up just deciding for myself, because nobody was there to comment on them. It took *years* of setuptools actually being in the field and used before enough people knew enough to *want* to take part in the design discussions. The versioning and metadata PEPs were things I asked about many years prior, but nobody knew what they wanted yet, or even knew yet why they should care.)
Similarly, in the years since then, MvL -- who originally argued against all things setuptools at 2.5 time -- actually proposed the original namespace package PEP.
So I don't think it's unfair to say that, seven years ago, the ideas in setuptools were still a few years ahead of their "time". Today, console script generation, virtual environments, namespace packages, entry point discovery, setup.py-driven testing tools, static file inclusion, etc. are closer to "of course we should have that/everybody uses that" features, rather than esoteric oddities.
That being said, setuptools *itself* is not such a good thing. It was originally a *private* add-on to distutils (like numpy's distutils extensions) and a prototyping sandbox for additions to the distutils. (E.g. setuptools features were added to distutils in 2.4 and 2.5.) I honestly didn't think at the time that I was writing those features (or even the egg stuff), that the *long term* goal would be for those things to be maintained in a separate package.
Instead, I (rather optimistically) assumed that the value of the approaches would be self-evident, and copied the way the other setuptools features were. (To this day, there are an odd variety of other little experimental "future distutils enhancements" still living in the setuptools code base, like support for building shared libraries to be used in common between multiple C extensions.)
By the way, for an overview of setuptools' components and use cases, and what happened with 2.5, see here:
http://mail.python.org/pipermail/python-dev/2006-April/064145.html
The plan I proposed was to phase out setuptools and merge its functionality into distutils for 2.6, but as I mentioned above, my available bandwidth to work on the project essentially vanished shortly after the above post; setuptools was pretty much "good enough" for OSAF's needs at the time, and they had other development priorities for my time.
So, if we are to draw any lesson from the past, it would seem to be, "make sure that the people who'll be doing the work are actually going to be available through to the next Python version".
After all, if they are not, it may not much matter whether the code is in the stdlib or not. ;-)
I have extensive experience with this, including quite a few bug
reports and a few patches in setuptools and distribute, plus
maintaining my own fork of setuptools to build and deploy my own
projects, plus interviewing quite a few Python developers about why
they hated setuptools, plus supporting one of them who hates
setuptools even though he and I use it in a build system
(https://tahoe-lafs.org).
I believe that 80% to 90% of the hatred alluded to above is due to a
single issue: the fact that setuptools causes your Python interpreter
to disrespect the PYTHONPATH, in violation of the documentation in
http://docs.python.org/release/2.7.2/install/index.html#inst-search-path
, which says:
"""
The PYTHONPATH variable can be set to a list of paths that will be
added to the beginning of sys.path. For example, if PYTHONPATH is set
to /www/python:/opt/py, the search path will begin with
['/www/python', '/opt/py']. (Note that directories must exist in order
to be added to sys.path; the site module removes paths that don’t
exist.)
"""
Fortunately, this issue is fixable! I opened a bug report and I and a
others have provided patches that makes setuptools stop doing this
behavior. This makes the above documentation true again. The negative
impact on features or backwards-compatibility doesn't seem to be
great.
http://bugs.python.org/setuptools/issue53
Philip J. Eby provisionally approved of one of the patches, except for
some specific requirement that I didn't really understand how to fix
and that now I don't exactly remember:
http://mail.python.org/pipermail/distutils-sig/2009-January/010880.html
Regards,
Zooko
On Jun 21, 2012 11:02 AM, "Zooko Wilcox-O'Hearn" <zo...@zooko.com> wrote:
>
> Philip J. Eby provisionally approved of one of the patches, except for
> some specific requirement that I didn't really understand how to fix
> and that now I don't exactly remember:
>
> http://mail.python.org/pipermail/distutils-sig/2009-January/010880.html
>
I don't remember either; I just reviewed the patch and discussion, and I'm not finding what the holdup was, exactly. Looking at it now, it looks to me like a good idea... oh wait, *now* I remember the problem, or at least, what needs reviewing.
Basically, the challenge is that it doesn't allow an .egg in a PYTHONPATH directory to take precedence over that *specific* PYTHONPATH directory.
With the perspective of hindsight, this was purely a transitional concern, since it only *really* mattered for site-packages; anyplace else you could just delete the legacy package if it was a problem. (And your patch works fine for that case.)
However, for setuptools as it was when you proposed this, it was a potential backwards-compatibility problem. My best guess is that I was considering the approach for 0.7... which never got any serious development time.
(It may be too late to fix the issue, in more than one sense. Even if the problem ceased to be a problem today, nobody's going to re-evaluate their position on setuptools, especially if their position wasn't even based on a personal experience with the issue.)
On Jun 21, 2012 10:12 AM, "Chris McDonough" <chr...@plope.com> wrote:
> - Install "package resources", which are non-Python source files that
> happen to live in package directories.
I love this phrasing, by the way ("non-Python source files").
A pet peeve of mine is the insistence by some people that such files are "data" and don't belong in package directories, despite the fact that if you gave them a .py extension and added data="""...""" around them, they'd be considered part of the code. A file's name and internal format aren't what distinguishes code from data; it's the way it's *used* that matters.
I think "packaging" has swung the wrong way on this particular point, and that resources and data files should be distinguished in setup.cfg, with sysadmins *not* being given the option to muck about with resources -- especially not to install them in locations where they might be mistaken for something editable.
telling us no one that is willing to maintain setuptools is able to do so. (according to him)
On Thu, Jun 21, 2012 at 1:20 PM, Tarek Ziadé <ta...@ziade.org> wrote:
telling us no one that is willing to maintain setuptools is able to do so. (according to him)
Perhaps there is some confusion or language barrier here: what I said at that time was that the only people who I already *knew* to be capable of taking on full responsibility for *continued development* of setuptools, were not available/interested in the job, to my knowledge.
Specifically, the main people I had in mind were Ian Bicking and/or Jim Fulton, both of whom had developed extensions to or significant chunks of setuptools' functionality themselves, during which they demonstrated exemplary levels of understanding both of the code base and the wide variety of scenarios in which that code base had to operate. They also both demonstrated conservative, user-oriented design choices, that made me feel comfortable that they would not do anything to disrupt the existing user base, and that if they made any compatibility-breaking changes, they would do so in a way that avoided disruption. (I believe I also gave Philip Jenvey as an example of someone who, while not yet proven at that level, was someone I considered a good potential candidate as well.)
This was not a commentary on anyone *else's* ability, only on my then-present *knowledge* of clearly-suitable persons and their availability, or lack thereof.
I would guess that the pool of qualified persons is even larger now, but the point is moot: my issue was never about who would "maintain" setuptools, but who would *develop* it.
And I expect that we would at this point agree that future *development* of setuptools is not something either of us are seeking. Rather, we should be seeking to develop tools that can properly supersede it.
This is why I participated in Distutils-SIG discussion of the various packaging PEPs, and hope to see more of them there.
End users should not need packaging tools on their machines.
Development tools like distutils2, distribute/setuptools, bento would
*only* be needed on developer machines, and would be purely developer
choice. They would all interact with end users via the
stdlib-supported standard formats. They could live outside the stdlib,
and developers could use whichever tool suited them.
This is a radical idea in that it does not cater for the "zipped up
development directory as a distribution format" mental model that
current Python uses. That model could still work, but only if all the
tools generated a stdlib-supported build definition
PS I know that setuptools includes some end-user aspects -
multi-versioning, entry points and optional dependencies, for example.
Maybe these are needed - personally, I have never had a need for any
of these, so I'm not the best person to comment.
End users should not need packaging tools on their machines.
On 6/21/12 10:46 PM, Dag Sverre Seljebotn wrote:
...What I mean is : what would it take to use Bento (or another tool) as the compiler in a distutils-based project, without having to change the distutils metadata.
I think we should, as you proposed, list a few projects w/ compilation
needs -- from the simplest to the more complex, then see how a standard
*description* could be used by any tool
It's not clear to me what you mean by description. Package metadata, install information or description of what/how to build?
I hope you don't mean the latter, that would be insane...it would effectively amount to creating a build tool that's both more elegant and more powerful than any option that's currently already out there.
Assuming you mean the former, that's what David did to create Bento. Reading and understanding Bento and the design decisions going into it would be a better use of time than redoing a discussion, and would at least be a very good starting point.
"It can deal with simple distutils-like builds using a bundled build tool" => If I understand this correctly, does that mean that Bento can build a distutils project with the distutils Metadata ?