The why of Instance()

Hello,

I was looking through the documentation and some of the web app examples to get an idea of how to set up an analytics dashboard. I was wondering what Instance was used for, so I CTRL+Bd in PyCharm. The explanation was a little light, so I tweeted poor BirdSarah who kindly directed me here :slight_smile:

So my primary question is: ‘What does Instance do?’

My follow up question is ‘Where could this information like this be put so that newbies can quickly understand the patterns required to set up a web application (e.g. stuff like extra_generated_classes)?’

Thanks in advance,

Hugo

P.S. Super happy to get involved in any way I can help :slight_smile:

To add a bit of general information: The purpose of Instance is to to allow Bokeh models that are shared on the python side (imagine you want two plots sharing a range, in order to have linked panning) to be correctly shared on the client (browser) side. That is, so the resulting two javascript Backbone "Plot" objects share one single Backbone range object (so that linked panning happens). I'd say that it's a bit of an implementation detail poking through, but no-one has found a better solution for this cross-language serialization issue than to offer an explicit spelling. Explicit may be better than auto-magic at the lowest level. But for apps perhaps we can hide this detail. We are still trying to learn from experience to improve the interface and spelling for creating Bokeh apps

This information should probably go in the Instance docstring so that it automatically shows up in the reference guide documentation.

Just to hopefully give people some insight into direction, here are the three major things we need to accomplish with the server still:

1) split out the bokeh-server in to its own package for distribution
2) document and demonstrate different production deployment scenarios
3) provide better docs and more examples for Bokeh apps

I should mention: we are currently engaged with someone *specifically* to work on these three things, and work is underway. I had hoped that they might be ready for this week's 0.9 release, but we could not get paperwork sorted as soon I'd have hoped, so did not get started in time. I would characterize these as the primary goals for a 0.9.1 release in the next six weeks or so, however.

As I mentioned we are trying to learn from our own and other's experience, what works about the current API and server, what needs to improve or change. The fact that things are still under somewhat heavy development is the main reason there are not more extensive docs. I know this is frustrating for users, but I do also see things settling down finally, so that we can invest in more extensive documentation efforts.

Finally, any and all input, help, feedback is *extremely* welcome. If there are particular questions or input, here is a good place, or GH discussion issues are also great.

Thanks,

Bryan

···

On May 12, 2015, at 4:21 AM, Hugo Carr <[email protected]> wrote:

Hello,

I was looking through the documentation and some of the web app examples to get an idea of how to set up an analytics dashboard. I was wondering what Instance was used for, so I CTRL+Bd in PyCharm. The explanation was a little light, so I tweeted poor BirdSarah who kindly directed me here :slight_smile:

So my primary question is: 'What does Instance do?'

My follow up question is 'Where could this information like this be put so that newbies can quickly understand the patterns required to set up a web application (e.g. stuff like extra_generated_classes)?'

Thanks in advance,
Hugo

P.S. Super happy to get involved in any way I can help :slight_smile:

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3a17d753-b556-4717-9148-83d3040aeb08%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Thanks very much Bryan! I’ll keep up the questions then :slight_smile:

···

On Tuesday, May 12, 2015 at 2:04:15 PM UTC+1, Bryan Van de ven wrote:

To add a bit of general information: The purpose of Instance is to to allow Bokeh models that are shared on the python side (imagine you want two plots sharing a range, in order to have linked panning) to be correctly shared on the client (browser) side. That is, so the resulting two javascript Backbone “Plot” objects share one single Backbone range object (so that linked panning happens). I’d say that it’s a bit of an implementation detail poking through, but no-one has found a better solution for this cross-language serialization issue than to offer an explicit spelling. Explicit may be better than auto-magic at the lowest level. But for apps perhaps we can hide this detail. We are still trying to learn from experience to improve the interface and spelling for creating Bokeh apps

This information should probably go in the Instance docstring so that it automatically shows up in the reference guide documentation.

Just to hopefully give people some insight into direction, here are the three major things we need to accomplish with the server still:

  1. split out the bokeh-server in to its own package for distribution

  2. document and demonstrate different production deployment scenarios

  3. provide better docs and more examples for Bokeh apps

I should mention: we are currently engaged with someone specifically to work on these three things, and work is underway. I had hoped that they might be ready for this week’s 0.9 release, but we could not get paperwork sorted as soon I’d have hoped, so did not get started in time. I would characterize these as the primary goals for a 0.9.1 release in the next six weeks or so, however.

As I mentioned we are trying to learn from our own and other’s experience, what works about the current API and server, what needs to improve or change. The fact that things are still under somewhat heavy development is the main reason there are not more extensive docs. I know this is frustrating for users, but I do also see things settling down finally, so that we can invest in more extensive documentation efforts.

Finally, any and all input, help, feedback is extremely welcome. If there are particular questions or input, here is a good place, or GH discussion issues are also great.

Thanks,

Bryan

On May 12, 2015, at 4:21 AM, Hugo Carr [email protected] wrote:

Hello,

I was looking through the documentation and some of the web app examples to get an idea of how to set up an analytics dashboard. I was wondering what Instance was used for, so I CTRL+Bd in PyCharm. The explanation was a little light, so I tweeted poor BirdSarah who kindly directed me here :slight_smile:

So my primary question is: ‘What does Instance do?’

My follow up question is ‘Where could this information like this be put so that newbies can quickly understand the patterns required to set up a web application (e.g. stuff like extra_generated_classes)?’

Thanks in advance,

Hugo

P.S. Super happy to get involved in any way I can help :slight_smile:


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3a17d753-b556-4717-9148-83d3040aeb08%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.