Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 14:47

    jbednar on gh_deploy_actions

    (compare)

  • 14:47

    jbednar on master

    Move deployment from Travis to … (compare)

  • 14:47
    jbednar closed #974
  • 13:41

    philippjfr on master

    Switch doc deployment action Bump panel.js version (compare)

  • 13:41

    philippjfr on v0.10.3a5

    Switch doc deployment action Bump panel.js version (compare)

  • 13:13
    philippjfr synchronize #974
  • 13:13

    philippjfr on gh_deploy_actions

    Use different deploy action (compare)

  • 13:13

    philippjfr on v0.12.0a6

    Use different deploy action (compare)

  • 12:46
    philippjfr unlabeled #1823
  • 12:46
    philippjfr labeled #1823
  • 12:46
    philippjfr opened #1823
  • 12:46
    philippjfr labeled #1823
  • Dec 03 19:06
    philippjfr synchronize #974
  • Dec 03 19:06

    philippjfr on gh_deploy_actions

    Fix output ref Drop GITHUB_TOKEN (compare)

  • Dec 03 19:06

    philippjfr on v0.12.0a5

    Fix output ref Drop GITHUB_TOKEN (compare)

  • Dec 03 18:40

    philippjfr on master

    Bump panel.js version (compare)

  • Dec 03 18:40

    philippjfr on v0.10.3a4

    Bump panel.js version (compare)

  • Dec 03 18:29

    philippjfr on master

    Correctly identify tags Bumped panel.js version (compare)

  • Dec 03 18:29

    philippjfr on v0.10.3a3

    Correctly identify tags Bumped panel.js version (compare)

  • Dec 03 18:27

    philippjfr on v0.10.3a3

    (compare)

James A. Bednar
@jbednar
I agree (and have argued internally) that it would be a great idea.
Marc Skov Madsen
@MarcSkovMadsen
Sounds great @jbednar . I think now you have more arguments: 1) Streamlit does it with huge success 2) HoloViz including Panel is NOW so mature that there are lots of business opportunities for Anaconda in promoting it.
James A. Bednar
@jbednar
How do you know it's a success (financially) for streamlit?
Marc Skov Madsen
@MarcSkovMadsen
I don't :-) But I can see community wise and communication wise that it is.
James A. Bednar
@jbednar
That part has never been in doubt. :-)
Marc Skov Madsen
@MarcSkovMadsen
My understanding is that solving the deployment problem is the hard problem. And Streamlit seems to have solved it. I claim people will use their technology and stay with it just for that reason alone.
The thing I don't understand is why Heroku, AWS, Azure, Google Cloud and other cloud providers don't provide the same simple 3 step technical solution.
James A. Bednar
@jbednar
I don't disagree. But note that Anaconda makes no money on Panel, and so we don't directly benefit if people use Panel more, while we would pay costs directly every time people deploy on such a server.
Streamlit is anticipating a revenue stream, whereas Anaconda is not expecting any money to flow from Panel.
The real question is whether Streamlit's revenue model will support their deployment server fully, in the long run. I don't know enough about it to have an opinion there.
Marc Skov Madsen
@MarcSkovMadsen
And that that is the challenge for Panel. That enterprises would look at that model and say 1) Where can I get support now if I need it 2) Will this be developed and supported in the future.
James A. Bednar
@jbednar
Meanwhile, enjoy the free resources! :-)
Anaconda can definitely provide support for Panel, with an hourly rate for work done.
Marc Skov Madsen
@MarcSkovMadsen
But for now. They get a lot of marketing, a lot of apps to test, free registration of all users and code. They can use that data to improve their offerings and technology fast.
James A. Bednar
@jbednar
Yup.
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.