Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1136051 - Please build an EPEL7 version ipython
Summary: Please build an EPEL7 version ipython
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: ipython
Version: epel7
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Thomas Spura
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1138534 1138536 1138538 1158617
Blocks: 1197264
TreeView+ depends on / blocked
 
Reported: 2014-09-01 14:18 UTC by Steve Traylen
Modified: 2018-04-11 13:34 UTC (History)
13 users (show)

Fixed In Version: ipython-3.1.0-2.el7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-06-08 20:13:21 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Do not package notebook on EPEL (4.72 KB, patch)
2015-02-25 19:23 UTC, Orion Poplawski
no flags Details | Diff

Description Steve Traylen 2014-09-01 14:18:31 UTC
Hi,
Please can a python-ipython package be made available for EPEL7?

Many Thanks

Steve.

Comment 1 Michel Alexandre Salim 2014-09-03 03:20:35 UTC
I'm willing to maintain the EPEL7 branch if none of the current maintainers are interested - right now I'm using the F19 builds of python-ipython-console and python-mglob and they work fine (the actual EPEL7 build should probably be of the newer 2.1.x series that doesn't need mglob anymore)

Comment 2 Thomas Spura 2014-09-03 08:38:28 UTC
Sure, co-maintainers welcome :)

There seem to be many missing requirements on epel7:
DEBUG util.py:283:  Error: No Package found for fontawesome-fonts-web
DEBUG util.py:283:  Error: No Package found for mathjax
DEBUG util.py:283:  Error: No Package found for python-path
DEBUG util.py:283:  Error: No Package found for python-tornado >= 3.1.0

Comment 3 David Cantrell 2014-09-03 12:09:20 UTC
Thomas, I gave this to you since you seem to be taking care of it.  Michel, comaintainers welcome.  Just request access via the Fedora accounts system.

Comment 4 Thomas Spura 2014-09-03 12:15:34 UTC
(In reply to David Cantrell from comment #3)
> Thomas, I gave this to you since you seem to be taking care of it.  Michel,
> comaintainers welcome.  Just request access via the Fedora accounts system.

I can do so, yet could need help with the final testing later on...

python-tornado is now available on epel7.

Comment 5 Orion Poplawski 2014-09-03 15:01:37 UTC
You can't ship a newer python-tornado in EPEL7 as it is already in RHEL7.

Comment 6 Michel Alexandre Salim 2014-09-04 06:12:55 UTC
OK, ACL requested, thanks.

Thomas, which version is that for? Will try a local build on my CentOS 7 machine.

Comment 7 Thomas Spura 2014-09-04 07:20:52 UTC
IPython needs at least python-tornado-3.1.

So we would need a python-tornado3 or something compat package or use a quite ancient ipython version.
I'm just trying to put a newer python-tornado into copr instead:
http://copr.fedoraproject.org/coprs/tomspur/ipython/

Comment 8 Michel Alexandre Salim 2014-09-05 03:03:51 UTC
Aha, OK. I'm rebuilding the other dependencies in local mock at the moment, should I post the modified specs here and you can put them in that COPR repo?

Comment 9 Michel Alexandre Salim 2014-09-05 04:29:16 UTC
OK, done with rebuilds; python-ipython-console installs fine but with the following oddity:

[TerminalIPythonApp] WARNING | Could not copy default file to static dir. Source file /usr/lib/python2.7/site-packages/IPython/html/static/custom/custom.js does not exist.
[TerminalIPythonApp] WARNING | Could not copy default file to static dir. Source file /usr/lib/python2.7/site-packages/IPython/html/static/custom/custom.css does not exist.

Turns out these files are shipped in python-ipython-notebook instead -- we should probably move them to python-ipython-console while updating it to use python-tornado3 in the epel branch.

Missing EPEL deps:

Can be simply rebuilt from master branch:
- fontawesome-fonts
- mathjax
- ttembed (needed to build fontawesome-fonts)

Need to downgrade to F19 branch:
- python-path (5.2 in master fails test suite when rebuilding on CentOS)

Need to create separate package:
- python-tornado

Comment 10 Orion Poplawski 2014-12-01 17:20:15 UTC
Any progress here?  I don't think we're going to see a python-tornado update in RHEL7 any time soon.  Worth shipping an old version in EPEL7 or just going the copr route?

Comment 11 Thomas Spura 2014-12-03 19:01:11 UTC
ipython now even requires python-tornado >= 4.0 :/

I am not interested in maintaining it in EPEL7, so it Michel's decision to ship an old version or continue with the copr route...

Comment 12 Till Maas 2015-01-05 21:05:16 UTC
(In reply to Thomas Spura from comment #11)
> ipython now even requires python-tornado >= 4.0 :/
> 
> I am not interested in maintaining it in EPEL7, so it Michel's decision to
> ship an old version or continue with the copr route...

An old ipython in EPEL would be really helpful in developing scripts for Fedora release engineering etc.

Comment 13 Orion Poplawski 2015-02-24 17:04:59 UTC
Michel - are you still interested in this?  What can we do to help?

Comment 14 Orion Poplawski 2015-02-25 18:12:46 UTC
Another possibility would be to not ship the notebook with the EPEL7 package.  This would presumably help Till/Infra.

Comment 15 Orion Poplawski 2015-02-25 19:23:04 UTC
Created attachment 995313 [details]
Do not package notebook on EPEL

This is a patch to allow building ipython without the notebook on EPEL, should we decide to go that route.

Comment 16 Thomas Spura 2015-02-27 08:55:11 UTC
It would be nice to keep the BRs next to the Rs for the notebook.
Other than that, it seems doable.

Comment 17 Matěj Cepl 2015-02-27 09:25:13 UTC
(In reply to Orion Poplawski from comment #15)
> Created attachment 995313 [details]
> Do not package notebook on EPEL
> 
> This is a patch to allow building ipython without the notebook on EPEL,
> should we decide to go that route.

Works for me (with an error mentioned in comment 9), and I have built a scratch build for others to test it on http://koji.fedoraproject.org/koji/taskinfo?taskID=9089441

+1

Comment 18 Orion Poplawski 2015-02-27 16:06:16 UTC
(In reply to Thomas Spura from comment #16)
> It would be nice to keep the BRs next to the Rs for the notebook.
> Other than that, it seems doable.

The problem is that the BRs need to be outside of the %if 0%{?with_notebook} conditional.  Even though we are not shipping the notebook (because of missing python-tornado), they are needed to build the package.

Comment 19 Orion Poplawski 2015-02-27 16:40:29 UTC
(In reply to Matěj Cepl from comment #17)
> Works for me (with an error mentioned in comment 9)

Ah, forgot about that.  Moved those files into -console.  New build here:
http://koji.fedoraproject.org/koji/taskinfo?taskID=9092410

Comment 20 Till Maas 2015-02-27 20:39:11 UTC
The next question is which ipython version to use for EPEL. Without the notebook it should be possible to directly update to 2.5 (AFAIK),

I noticed that David is the official PoC for EPEL - @David: Do you have any objections about this plan?

Comment 21 Orion Poplawski 2015-02-27 20:49:17 UTC
The latest stable Ipython that I know of is 2.4.1, which is what I'm proposing to go with now.

Comment 22 Till Maas 2015-02-27 20:57:00 UTC
(In reply to Orion Poplawski from comment #21)
> The latest stable Ipython that I know of is 2.4.1, which is what I'm
> proposing to go with now.

Ah, sorry, this was an off-by-one error - in Fedora there is still 2.3. Will you be fine with updating it to 3.0 once it is released (should happen soon according to Thomas), if not, it would be a good idea to introduce 2.4.1 only to testing initially to be able to update to 3.0 without potentially breaking stable updates.

Comment 23 Bryce Nordgren 2015-02-27 22:53:34 UTC
(In reply to Orion Poplawski from comment #21)
> The latest stable Ipython that I know of is 2.4.1, which is what I'm
> proposing to go with now.

Is the essential problem that including a notebook which works with the version of tornado shipped in RHEL would mean downgrading ipython to a version believed to be too old? 

No matter what version is included now, ipython (and many scientific libraries) evolves fast enough that three years from now it may not be compatible with then-current software. But I may not understand the EPEL philosophy regarding updates, as comment #22 mentions updating to a new major release version and I thought that was not the enterprise way...

Notebook is the majority of my use, if it were up to me, I'd package the version of Ipython available when the RHEL7 packages were frozen; so that notebook could be included. If I need newer ipython I'll pip install it or use Fedora. I would expect EL packages to have old versions.

Forgive me if I missed the point...

Comment 24 Orion Poplawski 2015-02-27 23:57:06 UTC
(In reply to Bryce Nordgren from comment #23)
> Is the essential problem that including a notebook which works with the
> version of tornado shipped in RHEL would mean downgrading ipython to a
> version believed to be too old? 

Yes. The latest version of IPython Notebook that works with python-tornado 2.2.1 (the version in RHEL7) is 1.2.1.  2.4 needs 3.1, and 3.0 needs 4.0.

> No matter what version is included now, ipython (and many scientific
> libraries) evolves fast enough that three years from now it may not be
> compatible with then-current software. But I may not understand the EPEL
> philosophy regarding updates, as comment #22 mentions updating to a new
> major release version and I thought that was not the enterprise way...

That is certainly a concern.  And one reason that Till is suggesting waiting still further until 3.0 is out so that we can put that into EPEL7.  I have no idea myself if the jump from 2.4 to 3.0 is incompatible in any way for users.  Can anyone speak to this?  http://ipython.org/ipython-doc/dev/whatsnew/version3.html#backwards-incompatible-changes is the upstream docs, no idea how significant they are.

> Notebook is the majority of my use, if it were up to me, I'd package the
> version of Ipython available when the RHEL7 packages were frozen; so that
> notebook could be included. If I need newer ipython I'll pip install it or
> use Fedora. I would expect EL packages to have old versions.

I think that most of us fell that packaging ipython notebook 1.2.1 in EPEL7 is just not worth it.  Anyone who really wants to use it is going to want to use a newer version.  If that's not the case, we could revisit it.  Perhaps it's worth asking the EPEL users list?

At least for my own internal use, I'm planning on providing ipython-notebook in a COPR - https://copr.fedoraproject.org/coprs/orion/ipython/, and I think most of us feel this is the best way to provide ipython-notebook at the moment.

If RedHat ever bumps the version of python-tornado we may be able to ship a reasonably recent notebook in EPEL.

Comment 25 Bryce Nordgren 2015-02-28 00:41:55 UTC
(In reply to Orion Poplawski from comment #24)
> (In reply to Bryce Nordgren from comment #23)
> That is certainly a concern.  And one reason that Till is suggesting waiting
> still further until 3.0 is out so that we can put that into EPEL7.  I have
> no idea myself if the jump from 2.4 to 3.0 is incompatible in any way for
> users.  Can anyone speak to this? 
> http://ipython.org/ipython-doc/dev/whatsnew/version3.html#backwards-
> incompatible-changes is the upstream docs, no idea how significant they are.

My main concern would be the notebook format changing, due to the fact that I couldn't recklessly move my code around anymore, but if notebook isn't included I don't have a problem with it.

> > Notebook is the majority of my use, if it were up to me, I'd package the
> > version of Ipython available when the RHEL7 packages were frozen; so that
> > notebook could be included. If I need newer ipython I'll pip install it or
> > use Fedora. I would expect EL packages to have old versions.
> 
> I think that most of us fell that packaging ipython notebook 1.2.1 in EPEL7
> is just not worth it.  Anyone who really wants to use it is going to want to
> use a newer version.  If that's not the case, we could revisit it.  Perhaps
> it's worth asking the EPEL users list?

That may be true. I use either a notebook environment or the regular python command line, skipping over ipython CLI. I could just be old and set in my ways. Notebook offers visualization over HTTP, which lets me fiddle with terabytes of data in my data center from my couch at home with a lousy DSL.

Perhaps the effort not wasted on notebook could be spent finishing out the "SciPy stack" in EPEL [1]. At least that way, library code could run in batch mode. You power my Cray via RocksClusters.


[1] https://bugzilla.redhat.com/show_bug.cgi?id=1197264

Comment 26 Orion Poplawski 2015-02-28 02:28:53 UTC
3.0 is released, so we should start taking a look at packaging that.

Comment 27 Orion Poplawski 2015-03-02 21:06:50 UTC
Sole response to my question on the ipython list, from Thomas Kluyver:

I would package it without the notebook. We're already not supporting 1.x releases, and even if you got 3.0 in, it will be out of date in a fraction of the lifetime of a RHEL release. I'd rather people who want the notebook be forced to install it another way than get an ancient version.

which I think reflects my sentiment as well.  If I don't hear any objections I'll get this pushed soon.

Comment 28 Orion Poplawski 2015-03-02 21:31:55 UTC
EPEL7 ipython 3.0 no-notebook scratch build:
koji.fedoraproject.org/koji/taskinfo?taskID=9123048

Comment 29 Orion Poplawski 2015-03-03 17:57:47 UTC
And a new one that requires python-mistune:
http://koji.fedoraproject.org/koji/taskinfo?taskID=9133506

Comment 30 Orion Poplawski 2015-03-03 18:37:10 UTC
Just a heads up - nbconvert for both 2.4.1 and 3.0.0 makes use of latex's adjustbox.sty.  Unfortunately, EL7's texlive does not provide that, see https://bugzilla.redhat.com/show_bug.cgi?id=1198299 so that won't work.

Comment 31 Fedora Update System 2015-05-07 18:39:57 UTC
ipython-3.1.0-2.el7 has been submitted as an update for Fedora EPEL 7.
https://admin.fedoraproject.org/updates/ipython-3.1.0-2.el7

Comment 32 Fedora Update System 2015-05-10 20:38:07 UTC
ipython-3.1.0-2.el7 has been pushed to the Fedora EPEL 7 testing repository.

Comment 33 Fedora Update System 2015-06-08 20:13:21 UTC
ipython-3.1.0-2.el7 has been pushed to the Fedora EPEL 7 stable repository.


Note You need to log in before you can comment on or make changes to this bug.