[yt-dev] PR to remove reason

Nathan Goldbaum nathan12343 at gmail.com
Tue Aug 25 08:39:10 PDT 2015


On Tue, Aug 25, 2015 at 9:48 AM, Sam Skillman <samskillman at gmail.com> wrote:

> Just going to toss this out as someone who spent a lot of time on Reason
> -- It might be nice if Reason existed outside of yt, just as another repo
> within the bitbucket/yt_analysis realm.  Could even peg it to a yt that it
> functions with and if folks are ever interested in bringing it back, it
> would allow for external development.  Just a thought.
>

Thanks for the idea Sam! It would take some work to extract reason and get
it to run stand-alone. Also, the version of yt it would be pinned against
would have reason living inside it anyway, so I'm not sure how helpful it
would be to a future porter to go through the exercise.

Regarding Matt's reluctance and Mike's point about whether a GUI is
necessary, I'd argue that reason really was going in the right direction,
and might even have evolved into something that we would all be using on a
day-to-day basis were it not for evolutions in the python ecosystem outside
of yt (mostly thinking of jupyter/jupyter notebooks here). Interactive
visualization toolkits mixing code and GUIs in the same interface is a
really powerful idea.

That said, a GUI *needs* to be tested at some level. Whether it be full
mock UI testing via something like selenium that simulates browser
interactions or by constructing the GUI so GUI events correspond to
specific API events that a test suite can programmatically invoke. In
either case, we need to find out on a commit-by-commit basis when things
break, otherwise bitrot ensues.

All this overhead means that the task of getting the GUI working, given
that it falls outside most of our development experience, will be high.
That's not to say it's not worth doing, just that it would need someone
devoting resources to it, and they would need to do the work with an eye
towards maintainability and testing.


>
> Sam
>
> On Tue, Aug 25, 2015 at 7:33 AM Matthew Turk <matthewturk at gmail.com>
> wrote:
>
>> Hi Nathan,
>>
>> This PR makes me really, really sad.
>>
>> The first version of Reason, back in 2007, was a wxPython GUI that
>> basically Britton and I worked on.  Then there were a few other
>> iterations, and finally this one, Reason v5 ("Cinco Analysis
>> Generator") was a joint effort (lots of effort from Cameron), written
>> in ExtJS 3.  There were two big components -- the python backend, and
>> the javascript frontend.  This was the one that got presented at the
>> yt workshop in Chicago.  Midway through 2012 I spent a bunch of time
>> refactoring this to work with Ext JS 4 (the current layout of the
>> javascript, along with the current javascript, is largely fully
>> refactored and much of it rewritten from the ExtJS 3 code) and this
>> was more extensible, with pluggable widgets and so on in an easier,
>> more defined way.
>>
>> Of the various components, the Python portion is definitely the part
>> that would need the most work to maintain, and also is probably the
>> one that would be the most unwise to maintain.  The ExtJS4 stuff,
>> which is in principle not impossible to maintain, should probably be
>> let go, as much as it pains me.  It's a nice framework, and I'm proud
>> of what it is, but it's heavyweight and very project specific.  It
>> could be made much more generic ... but first we'd have to maintain
>> it.  And I think that while the JS is likely not too hard to maintain
>> in stasis at this point, the Python code would be a pain.
>> Theoretically we could swap out the Python execution backend for
>> Jupyter (basing it on something like the way Thebe operates) but I'm
>> not sure the overall value there for us.
>>
>> That's not to say there isn't a set of lessons we can learn, but this
>> was a big push, and I think maybe in the end larger projects with more
>> resources and expertise should be utilized, rather than going it
>> ourselves on this (thinking here of Jupyter).  I'm okay with it going.
>> I guess.
>>
>> -Matt
>>
>> On Mon, Aug 24, 2015 at 3:43 PM, Nathan Goldbaum <nathan12343 at gmail.com>
>> wrote:
>> > Hi all,
>> >
>> > I've opened a pull request to remove the reason GUI here:
>> >
>> > https://bitbucket.org/yt_analysis/yt/pull-requests/1719
>> >
>> > As I mentioned in my e-mail a couple weeks ago about cleaning up the
>> > codebase, most of the functionality provided by reason is currently
>> > disabled. It could be re-enabled, but someone would need to commit to
>> > maintaining it and go through the work of updating the python side of
>> things
>> > to work with the current state of yt.
>> >
>> > If anyone is invested in the reason gui and thinks my pull request is
>> not
>> > the way to go, please feel free to comment on the pull request so we can
>> > start a discussion about what to do.
>> >
>> > Thanks for your time,
>> >
>> > -Nathan
>> >
>> > _______________________________________________
>> > yt-dev mailing list
>> > yt-dev at lists.spacepope.org
>> > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
>> >
>> _______________________________________________
>> yt-dev mailing list
>> yt-dev at lists.spacepope.org
>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
>>
>
> _______________________________________________
> yt-dev mailing list
> yt-dev at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-dev-spacepope.org/attachments/20150825/0f46c953/attachment.htm>


More information about the yt-dev mailing list