Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 12:15
    jonmmease commented #4463
  • 11:58
    philippjfr commented #4463
  • 09:55
    PBrockmann commented #446
  • 03:48
    nvictus synchronize #939
  • 00:06
    jbednar commented #4567
  • Nov 23 23:59
    obust edited #4699
  • Nov 23 23:54
    obust opened #4699
  • Nov 23 20:31
    julioasotodv edited #1801
  • Nov 23 20:31
    julioasotodv edited #1801
  • Nov 23 20:30
    julioasotodv edited #1801
  • Nov 23 20:30
    julioasotodv opened #1801
  • Nov 23 20:08
    jlstevens commented #4567
  • Nov 23 20:07
    jlstevens commented #4567
  • Nov 23 20:07
    jlstevens commented #4567
  • Nov 23 19:39
    philippjfr commented #4567
  • Nov 23 19:36
    jlstevens commented #4567
  • Nov 23 19:36
    jlstevens commented #4567
  • Nov 23 19:23
    philippjfr commented #4567
  • Nov 23 19:22
    philippjfr commented #4567
  • Nov 23 19:09
    khider commented #446
James A. Bednar
@jbednar
I assume that the VCs who invested in them believe in their revenue model. Panel is not VC funded.
Marc Skov Madsen
@MarcSkovMadsen
Maybe just that statement that for support you can go to Anaconda should be stated more clearly on the different sites then? And maybe list other expert consultants as well.
James A. Bednar
@jbednar
Yes, that's probably a good idea. We're hesitant to make it sound like these tools have a "gotcha", in that only paid supporters will get access to the key info (which is not true), but I agree that reassuring corporate users who want a support option is worth doing.
Marc Skov Madsen
@MarcSkovMadsen
The thing I am in doubt about is the revenue model. Because the Enterprises I know about prefers being in control. And they have the resources to configure CI/ CD and run Streamlit, Voila, Panel, Dash etc. in their own environments. Why buy that service when it's so easy for DevOps to do themselves?
James A. Bednar
@jbednar
I wouldn't say it's easy, but I do agree that it's hard for them to relinquish control.
And that they are doing it already in many cases, anyway.
Marc Skov Madsen
@MarcSkovMadsen
Streamlit or Panel is not there in isolation. Therefore having it hosted somewhere else does not make a lot of sense to me at least.
But getting a brand and connections to a huge community of data scientists with 0-2 years of experience can be very valuable I think. Those data scientist will be the decision takers tomorrow.
Marc Skov Madsen
@MarcSkovMadsen
image.png
Why does images now upload as image links instead of an image I can view directly?
Data App Frameworks are getting a place. Thats what I would say. I think Panel deserves to be there. But I doubt it will ever get there. Not because of the technology but because of the support behind it.
James A. Bednar
@jbednar
I assure you, all these things are discussed extensively within Anaconda, but so far the HoloViz tools have been primarily developed as ways that our customers can achieve great things, as funded directly by those customers, without necessarily requiring alignment between HoloViz's future and Anaconda's commercial activities. If such alignment does occur, I can easily imagine launching a similar service, and as mentioned doing so has been regularly proposed and considered for many years. So far it hasn't lined up with the roadmap of our commercial activities, but that's not to say it won't next month or next year. That said, other tools may already have deep inroads into mindshare at that point, which is a risk we all take.
Marc Skov Madsen
@MarcSkovMadsen
Regarding the "Gotcha". Maybe stating clearly that you believe these tools should be truly free but you also acknowledge the need for support and its available there and there would be a good thing.
James A. Bednar
@jbednar
Basically, we've been successful and expect to continue to be successful at obtaining funds for software development. There are no funds for marketing or for hosting large-scale public services, which is a consequence of having no direct-from-consumer revenue stream.
Yes, putting a statement like that on our sites, on balance, probably will be a good idea. I'll try to draft something.
Marc Skov Madsen
@MarcSkovMadsen
Thanks for a good discussion. I will leave for family time and bed time soon.
James A. Bednar
@jbednar
Likewise; thanks!
Rich Signell
@rsignell-usgs
Can we raise a red flag on this one? holoviz/hvplot#516
Rich Signell
@rsignell-usgs
(rasterize=True is one of the holoviz killer features, so sad to have it broken)
James A. Bednar
@jbednar
I've responded there, but mainly to tag Philipp, as I can reproduce the issue but can't find any warnings or errors generated.
Rich Signell
@rsignell-usgs
Awesome, thanks!
Andrew
@IAteAnDrew1_twitter

~/anaconda3/envs/py3/lib/python3.7/site-packages/holoviews/plotting/plot.py in compute_ranges(self, obj, key, ranges)
    633             if (not (axiswise and not isinstance(obj, HoloMap)) or
    634                 (not framewise and isinstance(obj, HoloMap))):
--> 635                 self._compute_group_range(group, elements, ranges, framewise, self.top_level)
    636         self.ranges.update(ranges)
    637         return ranges

~/anaconda3/envs/py3/lib/python3.7/site-packages/holoviews/plotting/plot.py in _compute_group_range(cls, group, elements, ranges, framewise, top_level)
    786                             values = el.nodes.dimension_values(2, expanded=False)
    787                         else:
--> 788                             values = el.dimension_values(el_dim, expanded=False)
    789                     elif isinstance(el, Graph) and el_dim in el.nodes:
    790                         values = el.nodes.dimension_values(el_dim, expanded=False)

~/anaconda3/envs/py3/lib/python3.7/site-packages/holoviews/core/data/__init__.py in pipelined_fn(*args, **kwargs)
    214 
    215             try:
--> 216                 result = method_fn(*args, **kwargs)
    217 
    218                 op = method_op.instance(

~/anaconda3/envs/py3/lib/python3.7/site-packages/holoviews/core/data/__init__.py in dimension_values(self, dimension, expanded, flat)
   1069         """
   1070         dim = self.get_dimension(dimension, strict=True)
-> 1071         return self.interface.values(self, dim, expanded, flat)
   1072 
   1073 

~/anaconda3/envs/py3/lib/python3.7/site-packages/holoviews/core/data/xarray.py in values(cls, dataset, dim, expanded, flat, compute, keep_index)
    376             if not keep_index:
    377                 data = cls.canonicalize(dataset, data, data_coords=data_coords,
--> 378                                         virtual_coords=virtual_coords)
    379             return data.T.flatten() if flat and not keep_index else data
    380         elif expanded:

~/anaconda3/envs/py3/lib/python3.7/site-packages/holoviews/core/data/grid.py in canonicalize(cls, dataset, data, data_coords, virtual_coords)
    341 
    342         if not any(cls.irregular(dataset, d) for d in dataset.kdims):
--> 343             inds = [dims.index(kd.name) for kd in dataset.kdims]
    344             inds = [i - sum([1 for d in dropped if i>=d]) for i in inds]
    345             if inds:

~/anaconda3/envs/py3/lib/python3.7/site-packages/holoviews/core/data/grid.py in <listcomp>(.0)
    341 
    342         if not any(cls.irregular(dataset, d) for d in dataset.kdims):
--> 343             inds = [dims.index(kd.name) for kd in dataset.kdims]
    344             inds = [i - sum([1 for d in dropped if i>=d]) for i in inds]
    345             if inds:

ValueError: 'lon' is not in lis
any thoughts on why this is happening for a geographic map NdLayout made through hvplot?

:NdLayout   [var,group]
   :HoloMap   [tau_day,season,region]
      :Image   [lon,lat]   (values,var)
Andrew
@IAteAnDrew1_twitter
oh it's caused by duplicate var
Marc Skov Madsen
@MarcSkovMadsen
I've just done a major contribution of PerspectiveViewer, Tabulator and PivotTable widgets. Feel free to help out reviewing holoviz/panel#1690
RaphyStark
@RaphyStark

Hi everyone!
I need help with my university project.
We want to use Clifford Attractors to give Arduino robot trajectories to achieve Light Painting Artworks.
So we used https://examples.pyviz.org/attractors/attractors.html to get the points, but we are in a deadlock.
We can't use all the points, so we need to "filter" the data frame to obtain the point coordinates that appear most frequently (in any case, the regions of points) to get usable data for the trajectories of our robots.
Do you think anyone can help me?

PS: I am French. Please excuse my spelling.

RaphyStark
@RaphyStark
df = df.sort_values(by=['x']) is a good start...
Marc Skov Madsen
@MarcSkovMadsen
What is the current way of disabling the bokeh logo in HoloViews? Something like this seems not to work any more

def _disable_logo_func(plot, element): # pylint: disable=unused-argument
plot.state.toolbar.logo = None

def disable_logo():
"""Removes the Bokeh logo from any plots created by Holoviews after running this command"""
plot = hv.plotting.bokeh.ElementPlot
if not _disable_logo_func in plot.hooks:
plot.hooks.append(_disable_logo_func)

(because you cannot say hv.plotting.....)
I want it applied to all plots. Not just individual ones
I also tried hv.extension("bokeh", logo=False) without luck. C.f. https://stackoverflow.com/questions/47585887/remove-bokeh-logo-in-holoviews
James A. Bednar
@jbednar
hv.extension("bokeh", logo=False) refers to the logo printed by hv.extension, not by each plot.
I don't know a convenient way to disable it globally for all plots, but I agree that would be nice to have.
@RaphyStark, be careful using Attractors in that way, because the equations actually include discrete jumps that I don't think your robot can do. :-) Before using a particular pattern, use the https://examples.pyviz.org/attractors/attractors_panel.html dashboard and select a plot_type of "line" and not "points", to connect up between each point. When you do that, you'll see that the pattern changes dramatically, because the equations lead to big jumps in space from one discrete point to the next (for Clifford patterns; others have different properties). So first be sure you're dealing with a pattern that is meaningful to treat as a real trajectory.
Then when you do that, I'm not sure what you're after; you can always decrease N to have fewer discrete steps.
You can also take the output of datashader and sort the locations by aggregated value (most-visited pixels), but I don't see how that would map on to any commands to a robot; the equations themselves already work for that (if it can navigate to a named point in a grid).
Marc Skov Madsen
@MarcSkovMadsen
I've given awesome-panel.org a make over and upgraded to Panel 0.10. Checkout the changes. You can try out how the different templates and themes works by widgets in the header.
image.png
And if you just want to dive into the gallery of apps
image.png
Marc Skov Madsen
@MarcSkovMadsen
And remember this is running on one low end DEV/ TEST server in Azure. The performance is better on my laptop :-)
James A. Bednar
@jbednar
Very cool!
RaphyStark
@RaphyStark
Thank you for your answers! But it's very difficult for me... I keep your answers in the back of my head and will come here later if needed.
Good evening to you all and stay safe
James A. Bednar
@jbednar
I think it will be clear if you try it out interactively; you'll see what I mean!
If you are expecting this from the particles:
image.png
A physical robot will actually draw this:
image.png