On Sat, Jul 5, 2014 at 2:32 PM, Ralf Gommers <ralf.gomm...@gmail.com> wrote:
>
> On Sat, Jul 5, 2014 at 1:54 PM, Nathaniel Smith <n...@pobox.com> wrote:
>>
>> On 5 Jul 2014 09:23, "Ralf Gommers" <ralf.gomm...@gmail.com> wrote:
>> >
>> > On Sat, Jul 5, 2014 at 10:13 AM, David Cournapeau <courn...@gmail.com>
>> > wrote:
>> >>
>> >> On Sat, Jul 5, 2014 at 11:25 AM, Charles R Harris
>> >> <charlesr.har...@gmail.com> wrote:
>> >>>
>> >>> Ralf likes the speed of bento, but it is not currently maintained
>> >>
>> >>
>> >> What exactly is not maintained ?
>> >
>> >
>> > The issue is that Julian made some slightly nontrivial changes to
>> > core/setup.py and didn't want to update core/bscript. No one else has taken
>> > the time either to make those changes. That didn't bother me enough yet to
>> > go fix it, because they're all optional features and using Bento builds
>> > works just fine at the moment (and is part of the Travis CI test runs, so
>> > it'll keep working).
>>
>> Perhaps a compromise would be to declare it officially unsupported and
>> remove it from Travis CI, while leaving the files in place to be used on an
>> at-your-own-risk basis? As long as it's in Travis, the default is that
>> anyone who breaks it has to fix it. If it's not in Travis, then the default
>> is that the people (person?) who use bento are responsible for keeping it
>> working for their needs.
>
> -1 that just means that simple changes like adding a new extension will not
> get made before PRs get merged, and bento support will be in a broken state
> much more often.

Yes, and then the handful of people who care about this would fix it
or not. Your -1 is attempting to veto other people's *not* paying
attention to this build system. I... don't think -1's work that way
:-(

>> > I don't think the above is a good reason to remove Bento support. The
>> > much faster builds alone are a good reason to keep it. And the assertion
>> > that all numpy devs understand numpy.distutils is more than a little
>> > questionable:)
>>
>> They surely don't. But thousands of people use setup.py, and one or two
>> use bento.
>
> I'm getting a little tired of these assertions. It's clear that David and I
> use it. A cursory search on Github reveals that Stefan, Fabian, Jonas and
> @aksarkar do (or did) as well:
>    https://github.com/scipy/scipy/commit/74d823b3
>    https://github.com/numpy/numpy/issues/2993
>    https://github.com/numpy/numpy/pull/3606
>    https://github.com/numpy/numpy/issues/3889
> For every user you can measure there's usually a number of users that you
> don't hear about.

I apologize for forgetting before that you do use Bento, but these
patches you're finding don't really change the overall picture. Let's
assume that there are 100 people using Bento, who would be slightly
inconvenienced if they had to use setup.py instead, or got stuck
patching the bento build themselves to keep it working. 100 is
probably an order of magnitude too high, but whatever. OTOH numpy has
almost 7 million downloads on PyPI+sf.net, of which approximately
every one used setup.py one way or another, plus all the people get it
from alternative channels like distros, which also AFAIK universally
use setup.py. Software development is all about trade-offs. Time that
numpy developers spend messing about with bento to benefit those
hundred users is time that could instead be spent on improvements that
benefit many orders of magnitudes more users. Why do you want us to
spend our time producing x units of value when we could instead be
producing 100*x units of value for the same effort?

>> Yet supporting both requires twice as much energy and attention as
>> supporting just one.
>
> That's of course not true. For most changes the differences in where and how
> to update the build systems are small. Only for unusual changes like Julian
> patches to make use of optional GCC features, Bento and distutils may
> require very different changes.
>>
>> We've probably spent more person-hours talking about this, documenting the
>> missing bscript bits, etc. than you've saved on those fast builds.
>
> Then maybe stop talking about it:)
>
> Besides the fast builds, which is only one example of why I like Bento
> better, there's also the fundamental question of what we do with build tools
> in the long term. It's clear that distutils is a dead end. All the PEPs
> related to packaging move in the direction of supporting tools like Bento
> better. If in the future we need significant new features in our build tool,
> Bento is a much better base to build on than numpy.distutils. It's
> unfortunate that at the moment there's no one that works on improving our
> build situation, but that is what it is. Removing Bento support is a step in
> the wrong direction imho.

"We must do something! This is something!"

Bento is pre-alpha software whose last upstream commit was in July
2013. It's own CI tests have been failing since Feb. 2013, almost a
year and a half ago. Bento build support was added to numpy in early
2011, and 3.5 years later it still hasn't convinced most of the core
team that it provides any value at all, yet it continues to take up
time and attention.

Maybe bento will revive and take over the new python packaging world!
Maybe not. Maybe something else will. I don't see how our support for
it will really affect these outcomes in any way. And I especially
don't see why it's important to spend time *now* on keeping bento
working, just in case it becomes useful *later*. If it proves valuable
later, we can always fix our bscripts then. They won't dissolve
irrecoverably out of history no matter what we do.

-n

-- 
Nathaniel J. Smith
Postdoctoral researcher - Informatics - University of Edinburgh
http://vorpus.org
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to