philippjfr on param_sizing
Param pane controls sizing of w… (compare)
philippjfr on master
Update event to object (#3150) … (compare)
philippjfr on update_event_to_object
I'm dealing with a memory leak from
hv.RGB. I've traced it back to the matplotlib backend (even though I'm running hv with the bokeh backend). It's possibly related to this mpl issue matplotlib/matplotlib#8519 . It may be related to this issue as well which has been labeled a bug holoviz/hvplot#501 .
Is there a workaround for NOT using mpl as the backend for hv.RGB?
This is the tracemalloc:
[ Top 10 ] /Users/kcp/miniconda3/envs/lbm/lib/python3.8/site-packages/matplotlib/image.py:1663: size=402 MiB, count=6, average=66.9 MiB /Users/kcp/miniconda3/envs/lbm/lib/python3.8/posixpath.py:368: size=445 KiB, count=3417, average=133 B /Users/kcp/miniconda3/envs/lbm/lib/python3.8/linecache.py:137: size=336 KiB, count=3244, average=106 B /Users/kcp/miniconda3/envs/lbm/lib/python3.8/inspect.py:753: size=144 KiB, count=1, average=144 KiB /Users/kcp/miniconda3/envs/lbm/lib/python3.8/inspect.py:750: size=144 KiB, count=1, average=144 KiB /Users/kcp/miniconda3/envs/lbm/lib/python3.8/site-packages/IPython/core/builtin_trap.py:63: size=9248 B, count=1, average=9248 B /Users/kcp/miniconda3/envs/lbm/lib/python3.8/site-packages/IPython/core/compilerop.py:101: size=5446 B, count=96, average=57 B /Users/kcp/miniconda3/envs/lbm/lib/python3.8/json/decoder.py:353: size=3479 B, count=44, average=79 B /Users/kcp/miniconda3/envs/lbm/lib/python3.8/site-packages/param/parameterized.py:271: size=2184 B, count=13, average=168 B /Users/kcp/miniconda3/envs/lbm/lib/python3.8/site-packages/tornado/gen.py:191: size=2088 B, count=8, average=261 B
With the bokeh ext loaded
Use this instead:
f = open(filename, 'rb') image = Image.open(f) image.load() f.close()
Pillow is leaking the file pointer
with open(filename, 'rb') as: image = np.array(Image.open(f))
FYI. I've tried out the https://shoelace.style/ web component library to create a Panel Template with a modal/ dialog to answer this user question https://discourse.holoviz.org/t/can-i-use-create-a-modal-dialog-in-panel/1207/4. It worked really well. For me Shoelace is currently the library of web components that I believe complements the existing Bokeh/ Panel widgets the most. They seem fairly mature and extensive. So if you needs some advanced layouts for your template take a look at them.
I believe a lot in Fast web components as well. But they are not so mature. But eventually they could be much, much bigger as they have the backing of Microsoft. And people are just starring it on Github and joining their discord forum at amazing speeds.
But maybe it is better to go back to bokeh and invest in modernizing the existing css stylesheets. The problem right now is that the .css is based on a very old version of Bootstrap (I believe) and there is a lot of hard coding of colors in decentral places. Another problem is just that not so many layouts and widgets are provided.
The right thing for Bokeh styles would be to have one central place to define colors and then use them in the .css files. And create a dark version as well. And document how to customize the styles easily. And the built in styles should be as close to for example a current version of Bootstrap instead of something old or custom. This will make it a lot easier for users to customize or extend via custom templates and css.
With Fast I just need to change the background color. Then everything adjusts. That is easy ... and Fast :-).