Bug 1327989

Summary: Review Request: python-jupyter-client - Jupyter protocol implementation and client libraries
Product: [Fedora] Fedora Reporter: Thomas Spura <tomspur>
Component: Package ReviewAssignee: Zbigniew Jędrzejewski-Szmek <zbyszek>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: cstratak, nonamedotc, package-review, python-sig, tomspur, zbyszek
Target Milestone: ---Keywords: Reopened
Target Release: ---Flags: zbyszek: fedora-review+
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-19 21:00:31 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1327994    
Bug Blocks: 1327979, 1327981    
Attachments:
Description Flags
patch to fix docs generation none

Description Thomas Spura 2016-04-18 08:17:39 UTC
Spec URL: https://tomspur.fedorapeople.org/review/python-jupyter-client/python-jupyter-client.spec
SRPM URL: https://tomspur.fedorapeople.org/review/python-jupyter-client/python-jupyter-client-4.2.2-1.fc23.src.rpm
Description:
`jupyter_client` contains the reference implementation of the
[Jupyter protocol][].
It also provides client and kernel management APIs for
working with kernels.

It also provides the `jupyter kernelspec` entrypoint
for
installing kernelspecs for use with Jupyter frontends.

Fedora Account System Username: tomspur

Comment 1 Zbigniew Jędrzejewski-Szmek 2016-04-18 17:41:19 UTC
Also here, "use dashes in preference to underscores." [https://fedoraproject.org/wiki/Packaging:NamingGuidelines#General_Naming].

It currently fails because of the -/_ mismatch with core:
Error: nothing provides python3-jupyter-core needed by python3-jupyter_client-4.2.2-1.fc23.noarch.

/usr/bin/jupyter-kernelspec-3 should be a symlink to jupyter-kernelspec-3.x.
/usr/bin/jupyter-kernelspec-2 should be a symlink to jupyter-kernelspec-2.x.
/usr/bin/jupyter-kernelspec should be a symlink to jupyter-kernelspec-2 or jupyter-kernelspec-3.
(In particular the symlinks should not specify the full path. It makes a difference for example in containers and chroots. Also it makes more sense to link to the more specific from the more generic, hence -2 → -2.7, not the other way around.)

Use %license.

Looks good otherwise.

Would it be possible to switch to python3 as default (for the whole jupyter stack)? After all it's a new set of package, so now might be a good moment to do the switch.

Comment 2 Thomas Spura 2016-04-18 21:19:49 UTC
(In reply to Zbigniew Jędrzejewski-Szmek from comment #1)
> Also here, "use dashes in preference to underscores."
> [https://fedoraproject.org/wiki/Packaging:NamingGuidelines#General_Naming].
> 
> It currently fails because of the -/_ mismatch with core:
> Error: nothing provides python3-jupyter-core needed by
> python3-jupyter_client-4.2.2-1.fc23.noarch.

Should be fixed.

> /usr/bin/jupyter-kernelspec-3 should be a symlink to jupyter-kernelspec-3.x.
> /usr/bin/jupyter-kernelspec-2 should be a symlink to jupyter-kernelspec-2.x.
> /usr/bin/jupyter-kernelspec should be a symlink to jupyter-kernelspec-2 or
> jupyter-kernelspec-3.
> (In particular the symlinks should not specify the full path. It makes a
> difference for example in containers and chroots. Also it makes more sense
> to link to the more specific from the more generic, hence -2 → -2.7, not the
> other way around.)

Done. If this is so important for containers and chroots, could you report this also at pyp2rpm?
 
> Use %license.

Done.

> Looks good otherwise.
> 
> Would it be possible to switch to python3 as default (for the whole jupyter
> stack)? After all it's a new set of package, so now might be a good moment
> to do the switch.

I guess you mean the unversioned binary? Yes, I'll do that. The current guidelines say so also, so if not, I did it wrong...:
https://fedoraproject.org/wiki/Packaging:Python

%changelog
- Use dash in name
- Adjust description
- Use %%license

Spec URL: https://tomspur.fedorapeople.org/review/python-jupyter-client/python-jupyter-client.spec
SRPM URL: https://tomspur.fedorapeople.org/review/python-jupyter-client/python-jupyter-client-4.2.2-2.fc23.src.rpm

Comment 3 Zbigniew Jędrzejewski-Szmek 2016-04-19 00:43:07 UTC
Created attachment 1148304 [details]
patch to fix docs generation

Would be better for py2 subpackage to require python2-jupyter-core, not python-jupyter-core.

- python-pyzmq → python-zmq
- python3-pyzmq → python3-zmq
- python-sphinxcontrib-napoleon and everything in Requires for python2 should be in BuildRequires
- no need for python3-sphinx (or alternatively python3-sphinx could be used instead of python2 sphinx)

+ package name is OK
+ license is acceptable (BSD)
+ license file is present, %license is used
+ latest version
+ builds and installs OK
- provides/requires look sane (see above)
+ %python_provide is used
+ no %check, but upstream does not provide tests

Please see attached patch.

Comment 4 Thomas Spura 2016-04-19 11:17:13 UTC
(In reply to Zbigniew Jędrzejewski-Szmek from comment #3)
> Created attachment 1148304 [details]
> patch to fix docs generation
> 
> Would be better for py2 subpackage to require python2-jupyter-core, not
> python-jupyter-core.
> 
> - python-pyzmq → python-zmq
> - python3-pyzmq → python3-zmq
> - python-sphinxcontrib-napoleon and everything in Requires for python2
> should be in BuildRequires

Thanks for the patch!

> - no need for python3-sphinx (or alternatively python3-sphinx could be used
> instead of python2 sphinx)

I use python-sphinx now, which should always provide an /usr/bin/sphinx-build (either python2 or python3).

> + package name is OK
> + license is acceptable (BSD)
> + license file is present, %license is used
> + latest version
> + builds and installs OK
> - provides/requires look sane (see above)
> + %python_provide is used
> + no %check, but upstream does not provide tests
> 
> Please see attached patch.

Changelog:
- Fix docs generation
- Require python2- instead python- where possible

Spec URL: https://tomspur.fedorapeople.org/review/python-jupyter-client/python-jupyter-client.spec
SRPM URL: https://tomspur.fedorapeople.org/review/python-jupyter-client/python-jupyter-client-4.2.2-3.fc23.src.rpm

Comment 5 Zbigniew Jędrzejewski-Szmek 2016-04-19 14:05:52 UTC
##doc html → %doc html

Now the BR and R have diverged, python2-traitlets vs python-traitlets, python2-zmq vs python-zmq.

And we also have the issue with existing python-jupyter_core. Yikes!
Let's wait until this is solved.

Comment 6 Zbigniew Jędrzejewski-Szmek 2016-04-19 14:07:26 UTC
Oh, one more thing: I'd suggest adding "%global _docdir_fmt %{name}", because /usr/share/doc/python-jupyter-client-doc/ is just silly, it's nicer to keep it all in /usr/share/doc/python-jupyter-client/.

Comment 7 Thomas Spura 2016-05-05 22:03:17 UTC
All three issues (shipping docs, BR/R confusion and docdir) should be solved

%changelog
- Use simpler docdir_fmt
- Fix BR/R requires

Spec URL: https://tomspur.fedorapeople.org/review/python-jupyter-client/python-jupyter-client.spec
SRPM URL: https://tomspur.fedorapeople.org/review/python-jupyter-client/python-jupyter-client-4.2.2-4.fc23.src.rpm

Comment 8 Zbigniew Jędrzejewski-Szmek 2016-05-07 19:01:26 UTC
+ package name is OK
+ license is OK (BSD)
+ license file is present, %license is used
+ latest version
+ builds and installs OK
+ provides/requires look sane
+ python_provide macro is used
+ no scriptlets present or necessary

I see one issue:
python2-subpackage has a bunch of python2 .pyc files (in site-packages/jypyter_client/ and site-packages/jypyter_client/blocking. They don't cause an actual problem, since python3 uses __pycache__/ and will not even look at those files, but still it's rather inelegant.

(I think they might be created when sphinx is run. My suggestion would be to simply use find to nuke all .pyc files in %buildroot at the end of %install. rpm will generate them anyway).

Package is APPROVED.

Comment 9 Gwyn Ciesla 2016-05-09 14:34:35 UTC
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/rpms/python-jupyter-client

Comment 10 Mukundan Ragavan 2016-09-25 02:50:01 UTC
any movement here folks?

thanks!

Comment 11 Charalampos Stratakis 2016-09-26 09:32:35 UTC
(In reply to Mukundan Ragavan from comment #10)
> any movement here folks?
> 
> thanks!

It seems the package hasn't been built.

tomspur would you be able to do it?

Comment 12 Thomas Spura 2016-09-26 19:49:33 UTC
Thanks for the ping and sorry for the delay.

Building in rawhide:
http://koji.fedoraproject.org/koji/taskinfo?taskID=15812954

Comment 13 Fedora Update System 2016-09-27 07:20:57 UTC
python-jupyter-client-4.4.0-1.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-d62e94089d

Comment 14 Mukundan Ragavan 2016-09-30 01:47:10 UTC
Thanks for the build tomspur.

Comment 15 Fedora Update System 2016-11-19 21:00:31 UTC
python-jupyter-client-4.4.0-1.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.