install, docker: --with-matplotlib#1816
install, docker: --with-matplotlib#18163nprob wants to merge 4 commits intoJoinMarket-Org:masterfrom
Conversation
docker: include matplotlib in image
needed by matplotlib; removed alongside python3-pip if not explicitly installed
roshii
left a comment
There was a problem hiding this comment.
nACK: afaict matplotlib is nor a project dependency, nor used in any dev flow
It's used by ob-watcher to plot graphs. Without it you get an error telling you to please install matplotlib when navigating to some views. So "user flow" more than "dev flow" - it's already an undocumented optional runtime dependency. |
roshii
left a comment
There was a problem hiding this comment.
I missed that usage, but remain concern by adding matplotlib to project dependencies, which it is not one per se, and it's an heavy one.
I'd suggest wrapping ob-watcher into a shell script, which is also arguable provided the ob-watcher handles missing matplotlib gracefully, and can be resolved by a single pip install.
nACK
|
Note that here matplotlib is still not installed by default for non-docker invocations and requires passing
I think downloading and installing libraries dynamically at runtime is an antipattern and should be avoided for a myriad of reasons. "Can be resolved by a single pip install" is not as trivial for docker users. For docker, I see a 30% image size increase with this PR vs (So if coupled with #1800 we are still net-negative ;)) |
|
here's how i'd tackle it: roshii#6 Missing a little configuration step to get it running out of the box |
|
Update: matplotlib is now opt-in for docker too. Enable with |
roshii
left a comment
There was a problem hiding this comment.
while this is better, i am not in favor of this approach. let's not add non direct project dependencies, even conditionally.
install.sh: Add--with-matplotlibflag to also install matplotlib for graph supportWITH_MATPLOTLIB=1