Bug 1321456 - RFE: drop hard dependency on the default tk backend
Summary: RFE: drop hard dependency on the default tk backend
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: python-matplotlib
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Elliott Sales de Andrade
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-03-27 11:44 UTC by Volker Fröhlich
Modified: 2021-10-27 10:10 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug


Attachments (Terms of Use)

Description Volker Fröhlich 2016-03-27 11:44:06 UTC
rpm -q --requires python2-matplotlib

...
python2-matplotlib-tk(x86-64) = 1.4.3-11.fc23
...


This essentially drags in tkinter. Rawhide is also affected and I guess all versions in between.

Comment 1 Thomas Spura 2016-04-04 11:02:51 UTC
What solution would you suggest?
Matplotlib depends on one (random) backend and I don't think it makes much difference to depend on another one instead, which then drags in other dependencies.

Comment 2 Dominik 'Rathann' Mierzejewski 2016-06-23 09:27:25 UTC
In theory, we could add virtual provides to all backend subpackagers, e.g.:

Provides: python[23]-matplotlib-backend

and then add a hard dependency on it to the main package:

Requires: python[23]-matplotlib-backend = %{version}-%{release}

We could also favour the tk backend by using

Recommends: python[23]-matplotlib-%{backend_subpackage} = %{version}-%{release}

I'll have to test how well this works in practice.

Comment 3 Thomas Spura 2016-06-23 18:28:59 UTC
The default backend is also written in the default configuration file.
IIRC, it is not possible to pick a random, existing backend because of that.

Or did that change recently?

Comment 4 Dominik 'Rathann' Mierzejewski 2016-06-24 07:18:59 UTC
No, I haven't changed that. I imagine it's possible to make it work like this:

if just one backend is installed, set it in matplotlibrc
else (more than one is installed):
    if tk backend is present, set tk in matplotlibrc
    else pick the last one installed

I'm not sure it's worth the effort, though.

Comment 5 Dominik 'Rathann' Mierzejewski 2016-06-24 07:21:14 UTC
Basically, I meant to say: patches welcome.

Comment 6 Fedora Admin user for bugzilla script actions 2020-07-08 14:54:38 UTC
This package has changed maintainer in the Fedora.
Reassigning to the new maintainer of this component.


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