scatter plot with markers as images

I am looking to create a visualization like the scatter.py example, except for instead of circles, I want the markers to be images available from URLs. My first attempt:

code defining all the variables

output_file(“scatter.html”)

hold()

circle(x, y, radius=radii, source=source, tools=TOOLS,

fill_color=colors, fill_alpha=0.6,

line_color=None, Title=“Hoverful Scatter”)

from PIL import Image

import urllib, cStringIO

file = cStringIO.StringIO(urllib.urlopen(“http://bokeh.pydata.org/_static/bokeh-transparent.png”).read())

img = Image.open(file)

m,n = img.size

new_img = np.empty((m,n), dtype=np.uint32)

view = new_img.view(dtype=np.uint8).reshape((m, n, 4))

img_data = np.array(img.getdata(),dtype=np.uint8)

for t in range(0,m*n):

view[t/n,t%n,0] = img_data[t][0]

view[t/n,t%n,1] = img_data[t][1]

view[t/n,t%n,2] = img_data[t][2]

view[t/n,t%n,3] = 255

for i in range(0,N):

im_x = x[i]

im_y = y[i]

im_w = .2

im_h = .2

image_rgba( image=[new_img], x=[im_x-im_h/2], y=[im_y-im_w/2], dw=[im_w], dh=[im_h] )

code defining hover attributes

show()

  1. Note that while the above example uses the same image for each of the N points, in the final product, each point will get its own unique image (32-by-32 or 64-by-64 pixel images). The above script actually works fine when N, the number of images, is small. But the file size of the html file grows very large with N. For example, for N = 10, 100, the filesizes are 3.6mb, 31.5mb, respectively, and when N=1000 I get a runtime error “RuntimeError: maximum recursion depth exceeded while calling a Python object”. I am expecting hundreds of points in my application, each with its own image. Is it possible to make this program scalable?

  2. In the documentation, I see that there is an option for image_uri in the lower level language but I cannot figure out how to access that in the high-level python scripting environment. Is it possible to use this at the high-level of the example above? image_uri = ( x=[0],y=[0],url=[“http://bokeh.pydata.org/_static/bokeh-transparent.png”] ) does not work.

Thanks

Hi Kevin,

Yes for static html out put this will explode rapidly as it will create N copies of the data. It's possible that using the Bokeh server would ameliorate this.

You are correct "image_uri" would probably handle the case where you want thousands of copies of the same image. You give the glyph the URL(s) of the images you would like to scatter and it goes and grabs them. However, it's not exposed at the python level yet. If you don't mind working off GH master, I can probably add it to the python side in the next few days.

Otherwise I will say that this is not a use case that has been optimized for yet. The best way to keep it on our radar would be to make a GH issue that describes your use case in detail!

The recursion error should not happen anymore. What version of Bokeh are you using?

Bryan

···

On Apr 15, 2014, at 3:44 PM, Kevin Jamieson <[email protected]> wrote:

I am looking to create a visualization like the scatter.py example, except for instead of circles, I want the markers to be images available from URLs. My first attempt:

# code defining all the variables

output_file("scatter.html")

hold()

circle(x, y, radius=radii, source=source, tools=TOOLS,
           fill_color=colors, fill_alpha=0.6,
           line_color=None, Title="Hoverful Scatter")

from PIL import Image
import urllib, cStringIO
file = cStringIO.StringIO(urllib.urlopen("http://bokeh.pydata.org/_static/bokeh-transparent.png&quot;\).read())

img = Image.open(file)
m,n = img.size

new_img = np.empty((m,n), dtype=np.uint32)
view = new_img.view(dtype=np.uint8).reshape((m, n, 4))
img_data = np.array(img.getdata(),dtype=np.uint8)
for t in range(0,m*n):
    view[t/n,t%n,0] = img_data[t][0]
    view[t/n,t%n,1] = img_data[t][1]
    view[t/n,t%n,2] = img_data[t][2]
    view[t/n,t%n,3] = 255

for i in range(0,N):
    im_x = x[i]
    im_y = y[i]
    im_w = .2
    im_h = .2
    image_rgba( image=[new_img], x=[im_x-im_h/2], y=[im_y-im_w/2], dw=[im_w], dh=[im_h] )

# code defining hover attributes

show()

1. Note that while the above example uses the same image for each of the N points, in the final product, each point will get its own unique image (32-by-32 or 64-by-64 pixel images). The above script actually works fine when N, the number of images, is small. But the file size of the html file grows very large with N. For example, for N = 10, 100, the filesizes are 3.6mb, 31.5mb, respectively, and when N=1000 I get a runtime error "RuntimeError: maximum recursion depth exceeded while calling a Python object". I am expecting hundreds of points in my application, each with its own image. Is it possible to make this program scalable?

2. In the documentation, I see that there is an option for image_uri in the lower level language but I cannot figure out how to access that in the high-level python scripting environment. Is it possible to use this at the high-level of the example above? image_uri = ( x=[0],y=[0],url=["http://bokeh.pydata.org/_static/bokeh-transparent.png&quot;\] ) does not work.

Thanks

--
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/e08df157-2c33-4f38-8a8e-0cc56d4cad4d%40continuum.io\.
For more options, visit https://groups.google.com/a/continuum.io/d/optout\.

I’m using version 0.4.2p1 of Bokeh. I have no problem using a the GH version, I’d really appreciate it if you could make image_uri accessible at the python level - bokeh seems like a really cool project and I’d like to use it as much as possible.

···

On Thursday, April 17, 2014 11:47:33 AM UTC-7, Bryan Van de ven wrote:

Hi Kevin,

Yes for static html out put this will explode rapidly as it will create N copies of the data. It’s possible that using the Bokeh server would ameliorate this.

You are correct “image_uri” would probably handle the case where you want thousands of copies of the same image. You give the glyph the URL(s) of the images you would like to scatter and it goes and grabs them. However, it’s not exposed at the python level yet. If you don’t mind working off GH master, I can probably add it to the python side in the next few days.

Otherwise I will say that this is not a use case that has been optimized for yet. The best way to keep it on our radar would be to make a GH issue that describes your use case in detail!

The recursion error should not happen anymore. What version of Bokeh are you using?

Bryan

On Apr 15, 2014, at 3:44 PM, Kevin Jamieson [email protected] wrote:

I am looking to create a visualization like the scatter.py example, except for instead of circles, I want the markers to be images available from URLs. My first attempt:

code defining all the variables

output_file(“scatter.html”)

hold()

circle(x, y, radius=radii, source=source, tools=TOOLS,

       fill_color=colors, fill_alpha=0.6,
       line_color=None, Title="Hoverful Scatter")

from PIL import Image

import urllib, cStringIO

file = cStringIO.StringIO(urllib.urlopen(“http://bokeh.pydata.org/_static/bokeh-transparent.png”).read())

img = Image.open(file)

m,n = img.size

new_img = np.empty((m,n), dtype=np.uint32)

view = new_img.view(dtype=np.uint8).reshape((m, n, 4))

img_data = np.array(img.getdata(),dtype=np.uint8)

for t in range(0,m*n):

view[t/n,t%n,0] = img_data[t][0]
view[t/n,t%n,1] = img_data[t][1]
view[t/n,t%n,2] = img_data[t][2]
view[t/n,t%n,3] = 255

for i in range(0,N):

im_x = x[i]
im_y = y[i]
im_w = .2
im_h = .2
image_rgba(   image=[new_img], x=[im_x-im_h/2], y=[im_y-im_w/2], dw=[im_w], dh=[im_h]   )

code defining hover attributes

show()

  1. Note that while the above example uses the same image for each of the N points, in the final product, each point will get its own unique image (32-by-32 or 64-by-64 pixel images). The above script actually works fine when N, the number of images, is small. But the file size of the html file grows very large with N. For example, for N = 10, 100, the filesizes are 3.6mb, 31.5mb, respectively, and when N=1000 I get a runtime error “RuntimeError: maximum recursion depth exceeded while calling a Python object”. I am expecting hundreds of points in my application, each with its own image. Is it possible to make this program scalable?

  2. In the documentation, I see that there is an option for image_uri in the lower level language but I cannot figure out how to access that in the high-level python scripting environment. Is it possible to use this at the high-level of the example above? image_uri = ( x=[0],y=[0],url=[“http://bokeh.pydata.org/_static/bokeh-transparent.png”] ) does not work.

Thanks


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/e08df157-2c33-4f38-8a8e-0cc56d4cad4d%40continuum.io.

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

Kevin, I just made a few small changes, can you apply the attached patch file (from the top of the checkout directory) and try this out?

Thanks,

Peter

image_url.patch (1.01 KB)

···

On Thu, Apr 17, 2014 at 11:47 PM, Kevin Jamieson [email protected] wrote:

I’m using version 0.4.2p1 of Bokeh. I have no problem using a the GH version, I’d really appreciate it if you could make image_uri accessible at the python level - bokeh seems like a really cool project and I’d like to use it as much as possible.

On Thursday, April 17, 2014 11:47:33 AM UTC-7, Bryan Van de ven wrote:

Hi Kevin,

Yes for static html out put this will explode rapidly as it will create N copies of the data. It’s possible that using the Bokeh server would ameliorate this.

You are correct “image_uri” would probably handle the case where you want thousands of copies of the same image. You give the glyph the URL(s) of the images you would like to scatter and it goes and grabs them. However, it’s not exposed at the python level yet. If you don’t mind working off GH master, I can probably add it to the python side in the next few days.

Otherwise I will say that this is not a use case that has been optimized for yet. The best way to keep it on our radar would be to make a GH issue that describes your use case in detail!

The recursion error should not happen anymore. What version of Bokeh are you using?

Bryan

On Apr 15, 2014, at 3:44 PM, Kevin Jamieson [email protected] wrote:

I am looking to create a visualization like the scatter.py example, except for instead of circles, I want the markers to be images available from URLs. My first attempt:

code defining all the variables

output_file(“scatter.html”)

hold()

circle(x, y, radius=radii, source=source, tools=TOOLS,

       fill_color=colors, fill_alpha=0.6,
       line_color=None, Title="Hoverful Scatter")

from PIL import Image

import urllib, cStringIO

file = cStringIO.StringIO(urllib.urlopen(“http://bokeh.pydata.org/_static/bokeh-transparent.png”).read())

img = Image.open(file)

m,n = img.size

new_img = np.empty((m,n), dtype=np.uint32)

view = new_img.view(dtype=np.uint8).reshape((m, n, 4))

img_data = np.array(img.getdata(),dtype=np.uint8)

for t in range(0,m*n):

view[t/n,t%n,0] = img_data[t][0]
view[t/n,t%n,1] = img_data[t][1]
view[t/n,t%n,2] = img_data[t][2]
view[t/n,t%n,3] = 255

for i in range(0,N):

im_x = x[i]
im_y = y[i]
im_w = .2
im_h = .2
image_rgba(   image=[new_img], x=[im_x-im_h/2], y=[im_y-im_w/2], dw=[im_w], dh=[im_h]   )

code defining hover attributes

show()

  1. Note that while the above example uses the same image for each of the N points, in the final product, each point will get its own unique image (32-by-32 or 64-by-64 pixel images). The above script actually works fine when N, the number of images, is small. But the file size of the html file grows very large with N. For example, for N = 10, 100, the filesizes are 3.6mb, 31.5mb, respectively, and when N=1000 I get a runtime error “RuntimeError: maximum recursion depth exceeded while calling a Python object”. I am expecting hundreds of points in my application, each with its own image. Is it possible to make this program scalable?

  2. In the documentation, I see that there is an option for image_uri in the lower level language but I cannot figure out how to access that in the high-level python scripting environment. Is it possible to use this at the high-level of the example above? image_uri = ( x=[0],y=[0],url=[“http://bokeh.pydata.org/_static/bokeh-transparent.png”] ) does not work.

Thanks


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/e08df157-2c33-4f38-8a8e-0cc56d4cad4d%40continuum.io.

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

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/f6a3bad5-a2af-467a-b25e-b2d55657e75b%40continuum.io.

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

Hi Peter,

I cloned the repository, applied the patch, and then ran setup.py install and get invalid syntax error with the command:

image_uri = ( url=[“http://bokeh.pydata.org/_static/bokeh-transparent.png”],x=[0.0],y=[0.0],angle=[0.0] )

However, looking at the patch, it looks like it adds the line

image_url = _glyph_function(glyphs.ImageURL, (“url”, “x”, “y”, “angle”), “FIXME: Need docstring”)

to plotting.py but I believe this should be “image_uri” and “ImageURI” respectively. Nevertheless, making this change and rerunning setup.py does not fix the problem.

Kevin

···

On Friday, April 18, 2014 5:48:40 AM UTC-7, pwang wrote:

Kevin, I just made a few small changes, can you apply the attached patch file (from the top of the checkout directory) and try this out?

Thanks,

Peter

On Thu, Apr 17, 2014 at 11:47 PM, Kevin Jamieson [email protected] wrote:

I’m using version 0.4.2p1 of Bokeh. I have no problem using a the GH version, I’d really appreciate it if you could make image_uri accessible at the python level - bokeh seems like a really cool project and I’d like to use it as much as possible.

On Thursday, April 17, 2014 11:47:33 AM UTC-7, Bryan Van de ven wrote:

Hi Kevin,

Yes for static html out put this will explode rapidly as it will create N copies of the data. It’s possible that using the Bokeh server would ameliorate this.

You are correct “image_uri” would probably handle the case where you want thousands of copies of the same image. You give the glyph the URL(s) of the images you would like to scatter and it goes and grabs them. However, it’s not exposed at the python level yet. If you don’t mind working off GH master, I can probably add it to the python side in the next few days.

Otherwise I will say that this is not a use case that has been optimized for yet. The best way to keep it on our radar would be to make a GH issue that describes your use case in detail!

The recursion error should not happen anymore. What version of Bokeh are you using?

Bryan

On Apr 15, 2014, at 3:44 PM, Kevin Jamieson [email protected] wrote:

I am looking to create a visualization like the scatter.py example, except for instead of circles, I want the markers to be images available from URLs. My first attempt:

code defining all the variables

output_file(“scatter.html”)

hold()

circle(x, y, radius=radii, source=source, tools=TOOLS,

       fill_color=colors, fill_alpha=0.6,
       line_color=None, Title="Hoverful Scatter")

from PIL import Image

import urllib, cStringIO

file = cStringIO.StringIO(urllib.urlopen(“http://bokeh.pydata.org/_static/bokeh-transparent.png”).read())

img = Image.open(file)

m,n = img.size

new_img = np.empty((m,n), dtype=np.uint32)

view = new_img.view(dtype=np.uint8).reshape((m, n, 4))

img_data = np.array(img.getdata(),dtype=np.uint8)

for t in range(0,m*n):

view[t/n,t%n,0] = img_data[t][0]
view[t/n,t%n,1] = img_data[t][1]
view[t/n,t%n,2] = img_data[t][2]
view[t/n,t%n,3] = 255

for i in range(0,N):

im_x = x[i]
im_y = y[i]
im_w = .2
im_h = .2
image_rgba(   image=[new_img], x=[im_x-im_h/2], y=[im_y-im_w/2], dw=[im_w], dh=[im_h]   )

code defining hover attributes

show()

  1. Note that while the above example uses the same image for each of the N points, in the final product, each point will get its own unique image (32-by-32 or 64-by-64 pixel images). The above script actually works fine when N, the number of images, is small. But the file size of the html file grows very large with N. For example, for N = 10, 100, the filesizes are 3.6mb, 31.5mb, respectively, and when N=1000 I get a runtime error “RuntimeError: maximum recursion depth exceeded while calling a Python object”. I am expecting hundreds of points in my application, each with its own image. Is it possible to make this program scalable?

  2. In the documentation, I see that there is an option for image_uri in the lower level language but I cannot figure out how to access that in the high-level python scripting environment. Is it possible to use this at the high-level of the example above? image_uri = ( x=[0],y=[0],url=[“http://bokeh.pydata.org/_static/bokeh-transparent.png”] ) does not work.

Thanks


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/e08df157-2c33-4f38-8a8e-0cc56d4cad4d%40continuum.io.

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

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/f6a3bad5-a2af-467a-b25e-b2d55657e75b%40continuum.io.

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

Hi again, sorry, I had the obvious syntax error with the “=” there, but after fixing it, changing url → uri, and using the command

image_uri( url=[“http://bokeh.pydata.org/_static/bokeh-transparent.png”],x=[im_x],y=[im_y],angle=[0.0] )

where im_x and im_y are locations that work with image_rgba, the script runs and page now loads but no images show up where they should be, its as if the line is never run. I tried with different image files with extensions jpg,png, and gif just in case it was that with no changes.

Kevin

···

On Friday, April 18, 2014 12:54:28 PM UTC-7, Kevin Jamieson wrote:

Hi Peter,

I cloned the repository, applied the patch, and then ran setup.py install and get invalid syntax error with the command:

image_uri = ( url=[“http://bokeh.pydata.org/_static/bokeh-transparent.png”],x=[0.0],y=[0.0],angle=[0.0] )

However, looking at the patch, it looks like it adds the line

image_url = _glyph_function(glyphs.ImageURL, (“url”, “x”, “y”, “angle”), “FIXME: Need docstring”)

to plotting.py but I believe this should be “image_uri” and “ImageURI” respectively. Nevertheless, making this change and rerunning setup.py does not fix the problem.

Kevin

On Friday, April 18, 2014 5:48:40 AM UTC-7, pwang wrote:

Kevin, I just made a few small changes, can you apply the attached patch file (from the top of the checkout directory) and try this out?

Thanks,

Peter

On Thu, Apr 17, 2014 at 11:47 PM, Kevin Jamieson [email protected] wrote:

I’m using version 0.4.2p1 of Bokeh. I have no problem using a the GH version, I’d really appreciate it if you could make image_uri accessible at the python level - bokeh seems like a really cool project and I’d like to use it as much as possible.

On Thursday, April 17, 2014 11:47:33 AM UTC-7, Bryan Van de ven wrote:

Hi Kevin,

Yes for static html out put this will explode rapidly as it will create N copies of the data. It’s possible that using the Bokeh server would ameliorate this.

You are correct “image_uri” would probably handle the case where you want thousands of copies of the same image. You give the glyph the URL(s) of the images you would like to scatter and it goes and grabs them. However, it’s not exposed at the python level yet. If you don’t mind working off GH master, I can probably add it to the python side in the next few days.

Otherwise I will say that this is not a use case that has been optimized for yet. The best way to keep it on our radar would be to make a GH issue that describes your use case in detail!

The recursion error should not happen anymore. What version of Bokeh are you using?

Bryan

On Apr 15, 2014, at 3:44 PM, Kevin Jamieson [email protected] wrote:

I am looking to create a visualization like the scatter.py example, except for instead of circles, I want the markers to be images available from URLs. My first attempt:

code defining all the variables

output_file(“scatter.html”)

hold()

circle(x, y, radius=radii, source=source, tools=TOOLS,

       fill_color=colors, fill_alpha=0.6,
       line_color=None, Title="Hoverful Scatter")

from PIL import Image

import urllib, cStringIO

file = cStringIO.StringIO(urllib.urlopen(“http://bokeh.pydata.org/_static/bokeh-transparent.png”).read())

img = Image.open(file)

m,n = img.size

new_img = np.empty((m,n), dtype=np.uint32)

view = new_img.view(dtype=np.uint8).reshape((m, n, 4))

img_data = np.array(img.getdata(),dtype=np.uint8)

for t in range(0,m*n):

view[t/n,t%n,0] = img_data[t][0]
view[t/n,t%n,1] = img_data[t][1]
view[t/n,t%n,2] = img_data[t][2]
view[t/n,t%n,3] = 255

for i in range(0,N):

im_x = x[i]
im_y = y[i]
im_w = .2
im_h = .2
image_rgba(   image=[new_img], x=[im_x-im_h/2], y=[im_y-im_w/2], dw=[im_w], dh=[im_h]   )

code defining hover attributes

show()

  1. Note that while the above example uses the same image for each of the N points, in the final product, each point will get its own unique image (32-by-32 or 64-by-64 pixel images). The above script actually works fine when N, the number of images, is small. But the file size of the html file grows very large with N. For example, for N = 10, 100, the filesizes are 3.6mb, 31.5mb, respectively, and when N=1000 I get a runtime error “RuntimeError: maximum recursion depth exceeded while calling a Python object”. I am expecting hundreds of points in my application, each with its own image. Is it possible to make this program scalable?

  2. In the documentation, I see that there is an option for image_uri in the lower level language but I cannot figure out how to access that in the high-level python scripting environment. Is it possible to use this at the high-level of the example above? image_uri = ( x=[0],y=[0],url=[“http://bokeh.pydata.org/_static/bokeh-transparent.png”] ) does not work.

Thanks


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/e08df157-2c33-4f38-8a8e-0cc56d4cad4d%40continuum.io.

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

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/f6a3bad5-a2af-467a-b25e-b2d55657e75b%40continuum.io.

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

Hi Kevin,

It turns out that there is also a small bug in the bokehjs code for this glyph. It is probably he most lightly tested glyph so it is actually really great to have your feedback! I have created a GH issue for this problem where you can track progress:

  Fix and expose ImageURI · Issue #551 · bokeh/bokeh · GitHub

I hope to have this fixed by tomorrow so if you are comfortable working on master then you can use the fix there, otherwise we will be having another release in the next few weeks.

Thanks,

Bryan

···

On Apr 18, 2014, at 3:08 PM, Kevin Jamieson <[email protected]> wrote:

Hi again, sorry, I had the obvious syntax error with the "=" there, but after fixing it, changing url -> uri, and using the command

image_uri( url=["http://bokeh.pydata.org/_static/bokeh-transparent.png"],x=[im_x],y=[im_y],angle=[0.0] )

where im_x and im_y are locations that work with image_rgba, the script runs and page now loads but no images show up where they should be, its as if the line is never run. I tried with different image files with extensions jpg,png, and gif just in case it was that with no changes.

Kevin,

OK, there is now a PR for this fix:

  Expose, fix, rename Image url by bryevdv · Pull Request #553 · bokeh/bokeh · GitHub

Note we are renaming to "image_url", etc. as part of this work. Just for some reference I plotted 1000 copies of the bokeh logo and there resulting html file size was about 750k. Panning/zooming immediately responsive as well.

I do think the interface for image_url is a little clunky, so if you have any feedback on how you'd like to use this glyph it is very much welcomed!

Thanks,

Bryan

···

On Apr 21, 2014, at 9:29 AM, Bryan Van de Ven <[email protected]> wrote:

It turns out that there is also a small bug in the bokehjs code for this glyph. It is probably he most lightly tested glyph so it is actually really great to have your feedback! I have created a GH issue for this problem where you can track progress:

  Fix and expose ImageURI · Issue #551 · bokeh/bokeh · GitHub

I hope to have this fixed by tomorrow so if you are comfortable working on master then you can use the fix there, otherwise we will be having another release in the next few weeks.

This PR is merged and the issue is fixed on master. Additionally an example has been added at

  examples/plotting/file/image_url.py

Thanks,

Bryan

Thank all of you for your attention on this issue, it is much appreciated. Unfortunately, I still run into problems running the example you’ve added.

I clone the latest, run “python setup.py install” in the directory to update things, go into terminal and enter python and check for updated version:

import bokeh
bokeh.version
‘0.4.4-49-ge939f7f’

Now I navigate to examples/plotting/file and type “python image_url.py” and image_url.html is created successfully, the browser (Chrome 34.0.1847.116, also Safari) is launched but all I see is “Plots” with nothing else. When I look at the javascript console, I see

1d8c6072-2add-4441-9517-82aaa942f244 PlotContext 30ffaace-e41e-430f-aba9-c58cc956edfa image_url.html:229

calling require source/column_data_source image_url.html:219

calling require range/data_range1d image_url.html:219

calling require ticking/basic_tick_formatter image_url.html:219

calling require ticking/basic_ticker image_url.html:219

calling require renderer/guide/linear_axis image_url.html:219

calling require renderer/guide/grid image_url.html:219

calling require tool/box_zoom_tool image_url.html:219

calling require renderer/overlay/box_selection image_url.html:219

calling require renderer/glyph/glyph_factory image_url.html:219

calling require tool/box_select_tool image_url.html:219

calling require tool/pan_tool image_url.html:219

calling require tool/wheel_zoom_tool image_url.html:219

calling require tool/preview_save_tool image_url.html:219

calling require tool/resize_tool image_url.html:219

calling require tool/reset_tool image_url.html:219

calling require common/plot image_url.html:219

calling require common/plot_context image_url.html:219

unknown glyph type ‘image_url’ image_url.html:211

Uncaught TypeError: undefined is not a function image_url.html:205

n

error with binder change:x_range image_url.html:205

n

error with binder change:y_range image_url.html:205

n

error with binder change:x_range image_url.html:205

n

error with binder change:y_range image_url.html:205

I should mention that if I try “python image_rgba.py” everything works as expected.

Any suggestions?

Thanks

···

On Monday, April 21, 2014 10:26:20 AM UTC-7, Bryan Van de ven wrote:

This PR is merged and the issue is fixed on master. Additionally an example has been added at

    examples/plotting/file/image_url.py

Thanks,

Bryan

Can you please run:

python setup.py install --build_js

and try again…

···

On Mon, Apr 21, 2014 at 4:44 PM, Kevin Jamieson [email protected] wrote:

Thank all of you for your attention on this issue, it is much appreciated. Unfortunately, I still run into problems running the example you’ve added.

I clone the latest, run “python setup.py install” in the directory to update things, go into terminal and enter python and check for updated version:

import bokeh
bokeh.version

‘0.4.4-49-ge939f7f’

Now I navigate to examples/plotting/file and type “python image_url.py” and image_url.html is created successfully, the browser (Chrome 34.0.1847.116, also Safari) is launched but all I see is “Plots” with nothing else. When I look at the javascript console, I see

1d8c6072-2add-4441-9517-82aaa942f244 PlotContext 30ffaace-e41e-430f-aba9-c58cc956edfa image_url.html:229

calling require source/column_data_source image_url.html:219

calling require range/data_range1d image_url.html:219

calling require ticking/basic_tick_formatter image_url.html:219

calling require ticking/basic_ticker image_url.html:219

calling require renderer/guide/linear_axis image_url.html:219

calling require renderer/guide/grid image_url.html:219

calling require tool/box_zoom_tool image_url.html:219

calling require renderer/overlay/box_selection image_url.html:219

calling require renderer/glyph/glyph_factory image_url.html:219

calling require tool/box_select_tool image_url.html:219

calling require tool/pan_tool image_url.html:219

calling require tool/wheel_zoom_tool image_url.html:219

calling require tool/preview_save_tool image_url.html:219

calling require tool/resize_tool image_url.html:219

calling require tool/reset_tool image_url.html:219

calling require common/plot image_url.html:219

calling require common/plot_context image_url.html:219

unknown glyph type ‘image_url’ image_url.html:211

Uncaught TypeError: undefined is not a function image_url.html:205

n

error with binder change:x_range image_url.html:205

n

error with binder change:y_range image_url.html:205

n

error with binder change:x_range image_url.html:205

n

error with binder change:y_range image_url.html:205

I should mention that if I try “python image_rgba.py” everything works as expected.

Any suggestions?

Thanks

On Monday, April 21, 2014 10:26:20 AM UTC-7, Bryan Van de ven wrote:

This PR is merged and the issue is fixed on master. Additionally an example has been added at

    examples/plotting/file/image_url.py

Thanks,

Bryan

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/fbf8c562-1798-4985-8f87-bcbecd006b06%40continuum.io.

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

When I run that command (in the directory of setup.py) I get

python setup.py install --build_js

deploying bokehjs…

Traceback (most recent call last):

File “setup.py”, line 195, in

out = subprocess.check_output([‘grunt’, ‘deploy’])

File “/Users/kevinjamieson/anaconda/lib/python2.7/subprocess.py”, line 566, in check_output

process = Popen(stdout=PIPE, *popenargs, **kwargs)

File “/Users/kevinjamieson/anaconda/lib/python2.7/subprocess.py”, line 709, in init

errread, errwrite)

File “/Users/kevinjamieson/anaconda/lib/python2.7/subprocess.py”, line 1326, in _execute_child

raise child_exception

OSError: [Errno 2] No such file or directory

Is it an issue that I installed bokeh originally using anaconda distribution and then started using the cloned repository?

Also, for some directory information, when I run “python setup.py install” I see

Installing bokeh…

/Users/kevinjamieson/anaconda/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: ‘zip_safe’

warnings.warn(msg)

/Users/kevinjamieson/anaconda/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: ‘install_requires’

warnings.warn(msg)

running install

running build

got version from git {‘version’: ‘0.4.4-49-ge939f7f’, ‘full’: ‘e939f7fe3d0b70f7d943dd2494c2dae8fb68d1b5’}

running build_py

copying bokeh/server/static/js/bokeh.js → build/lib/bokeh/server/static/js

copying bokeh/server/static/js/bokeh.min.js → build/lib/bokeh/server/static/js

running build_scripts

UPDATING build/lib/bokeh/_version.py

running install_lib

copying build/lib/bokeh/_version.py → /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh

copying build/lib/bokeh/server/static/js/bokeh.js → /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh/server/static/js

copying build/lib/bokeh/server/static/js/bokeh.min.js → /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh/server/static/js

byte-compiling /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh/_version.py to _version.pyc

running install_scripts

changing mode of /Users/kevinjamieson/anaconda/bin/bokeh-server to 755

running install_egg_info

Removing /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh-0.4.4_49_ge939f7f-py2.7.egg-info

Writing /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh-0.4.4_49_ge939f7f-py2.7.egg-info

···

On Monday, April 21, 2014 12:50:49 PM UTC-7, Damian Avila wrote:

Can you please run:

python setup.py install --build_js

and try again…

On Mon, Apr 21, 2014 at 4:44 PM, Kevin Jamieson [email protected] wrote:

Thank all of you for your attention on this issue, it is much appreciated. Unfortunately, I still run into problems running the example you’ve added.

I clone the latest, run “python setup.py install” in the directory to update things, go into terminal and enter python and check for updated version:

import bokeh
bokeh.version

‘0.4.4-49-ge939f7f’

Now I navigate to examples/plotting/file and type “python image_url.py” and image_url.html is created successfully, the browser (Chrome 34.0.1847.116, also Safari) is launched but all I see is “Plots” with nothing else. When I look at the javascript console, I see

1d8c6072-2add-4441-9517-82aaa942f244 PlotContext 30ffaace-e41e-430f-aba9-c58cc956edfa image_url.html:229

calling require source/column_data_source image_url.html:219

calling require range/data_range1d image_url.html:219

calling require ticking/basic_tick_formatter image_url.html:219

calling require ticking/basic_ticker image_url.html:219

calling require renderer/guide/linear_axis image_url.html:219

calling require renderer/guide/grid image_url.html:219

calling require tool/box_zoom_tool image_url.html:219

calling require renderer/overlay/box_selection image_url.html:219

calling require renderer/glyph/glyph_factory image_url.html:219

calling require tool/box_select_tool image_url.html:219

calling require tool/pan_tool image_url.html:219

calling require tool/wheel_zoom_tool image_url.html:219

calling require tool/preview_save_tool image_url.html:219

calling require tool/resize_tool image_url.html:219

calling require tool/reset_tool image_url.html:219

calling require common/plot image_url.html:219

calling require common/plot_context image_url.html:219

unknown glyph type ‘image_url’ image_url.html:211

Uncaught TypeError: undefined is not a function image_url.html:205

n

error with binder change:x_range image_url.html:205

n

error with binder change:y_range image_url.html:205

n

error with binder change:x_range image_url.html:205

n

error with binder change:y_range image_url.html:205

I should mention that if I try “python image_rgba.py” everything works as expected.

Any suggestions?

Thanks

On Monday, April 21, 2014 10:26:20 AM UTC-7, Bryan Van de ven wrote:

This PR is merged and the issue is fixed on master. Additionally an example has been added at

    examples/plotting/file/image_url.py

Thanks,

Bryan

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/fbf8c562-1798-4985-8f87-bcbecd006b06%40continuum.io.

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

Hi Kevin,

Thanks for your patience. The issues as that you need to have a newly rebuilt version of the bokehjs, which requires a few extra steps. They are outlines here:

  http://bokeh.pydata.org/docs/dev_guide.html#coffeescript

but for brevity's sake, they are basically this:

1) install node/npm
2) npm install -g grunt-cli
3) cd bokehjs; npm install

Then you can cd back to the top level and run: "python setup.py develop --build_js" or "python setup.py install --build_js"

I would suggest doing a "conda remove bokeh" and also clearing out bokeh* from your site-packages.

Let us know if this helps!

Bryan

···

On Apr 21, 2014, at 3:01 PM, Kevin Jamieson <[email protected]> wrote:

When I run that command (in the directory of setup.py) I get

python setup.py install --build_js

deploying bokehjs...

Traceback (most recent call last):

  File "setup.py", line 195, in <module>

    out = subprocess.check_output(['grunt', 'deploy'])

  File "/Users/kevinjamieson/anaconda/lib/python2.7/subprocess.py", line 566, in check_output

    process = Popen(stdout=PIPE, *popenargs, **kwargs)

  File "/Users/kevinjamieson/anaconda/lib/python2.7/subprocess.py", line 709, in __init__

    errread, errwrite)

  File "/Users/kevinjamieson/anaconda/lib/python2.7/subprocess.py", line 1326, in _execute_child

    raise child_exception

OSError: [Errno 2] No such file or directory

Is it an issue that I installed bokeh originally using anaconda distribution and then started using the cloned repository?

Also, for some directory information, when I run "python setup.py install" I see

Installing bokeh...

/Users/kevinjamieson/anaconda/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'zip_safe'

  warnings.warn(msg)

/Users/kevinjamieson/anaconda/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires'

  warnings.warn(msg)

running install

running build

got version from git {'version': '0.4.4-49-ge939f7f', 'full': 'e939f7fe3d0b70f7d943dd2494c2dae8fb68d1b5'}

running build_py

copying bokeh/server/static/js/bokeh.js -> build/lib/bokeh/server/static/js

copying bokeh/server/static/js/bokeh.min.js -> build/lib/bokeh/server/static/js

running build_scripts

UPDATING build/lib/bokeh/_version.py

running install_lib

copying build/lib/bokeh/_version.py -> /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh

copying build/lib/bokeh/server/static/js/bokeh.js -> /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh/server/static/js

copying build/lib/bokeh/server/static/js/bokeh.min.js -> /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh/server/static/js

byte-compiling /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh/_version.py to _version.pyc

running install_scripts

changing mode of /Users/kevinjamieson/anaconda/bin/bokeh-server to 755

running install_egg_info

Removing /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh-0.4.4_49_ge939f7f-py2.7.egg-info

Writing /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh-0.4.4_49_ge939f7f-py2.7.egg-info

On Monday, April 21, 2014 12:50:49 PM UTC-7, Damian Avila wrote:
Can you please run:

python setup.py install --build_js

and try again...

On Mon, Apr 21, 2014 at 4:44 PM, Kevin Jamieson <[email protected]> wrote:
Thank all of you for your attention on this issue, it is much appreciated. Unfortunately, I still run into problems running the example you've added.

I clone the latest, run "python setup.py install" in the directory to update things, go into terminal and enter python and check for updated version:
>>> import bokeh
>>> bokeh.__version__
'0.4.4-49-ge939f7f'

Now I navigate to examples/plotting/file and type "python image_url.py" and image_url.html is created successfully, the browser (Chrome 34.0.1847.116, also Safari) is launched but all I see is "Plots" with nothing else. When I look at the javascript console, I see

1d8c6072-2add-4441-9517-82aaa942f244 PlotContext 30ffaace-e41e-430f-aba9-c58cc956edfa image_url.html:229
calling require source/column_data_source image_url.html:219
calling require range/data_range1d image_url.html:219
calling require ticking/basic_tick_formatter image_url.html:219
calling require ticking/basic_ticker image_url.html:219
calling require renderer/guide/linear_axis image_url.html:219
calling require renderer/guide/grid image_url.html:219
calling require tool/box_zoom_tool image_url.html:219
calling require renderer/overlay/box_selection image_url.html:219
calling require renderer/glyph/glyph_factory image_url.html:219
calling require tool/box_select_tool image_url.html:219
calling require tool/pan_tool image_url.html:219
calling require tool/wheel_zoom_tool image_url.html:219
calling require tool/preview_save_tool image_url.html:219
calling require tool/resize_tool image_url.html:219
calling require tool/reset_tool image_url.html:219
calling require common/plot image_url.html:219
calling require common/plot_context image_url.html:219
unknown glyph type 'image_url' image_url.html:211
Uncaught TypeError: undefined is not a function image_url.html:205
error with binder

n
change:x_range image_url.html:205
error with binder

n
change:y_range image_url.html:205
error with binder

n
change:x_range image_url.html:205
error with binder

n
change:y_range image_url.html:205

I should mention that if I try "python image_rgba.py" everything works as expected.

Any suggestions?

Thanks

On Monday, April 21, 2014 10:26:20 AM UTC-7, Bryan Van de ven wrote:

This PR is merged and the issue is fixed on master. Additionally an example has been added at

        examples/plotting/file/image_url.py

Thanks,

Bryan

--
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 bokeh+un...@continuum.io.
To post to this group, send email to bo...@continuum.io.
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/fbf8c562-1798-4985-8f87-bcbecd006b06%40continuum.io\.

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

--
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/c0335538-a214-4ada-871d-e578d52e151f%40continuum.io\.
For more options, visit https://groups.google.com/a/continuum.io/d/optout\.

Bryan,

I’m afraid there is no change.

I ran “conda remove bokeh” and also did “python setup.py install --record files.txt” and “cat files.txt | xargs rm -rf” to be safe. I then installed npm, installed grunt, ran npm install in bokehjs with no errors. Then went back to the main directory and ran “python setup.py install --build_js” and still got the error. I then removed everything again, ran “python setup.py install” then built bokehjs again and ran “python setup.py install --build_js” with no luck. Still get:

c9eec0d7-9187-43d3-bc38-bb34c43e518f PlotContext fe16f717-bb90-4bb9-84d0-c966de797683 image_url.html:229

calling require ticking/basic_tick_formatter image_url.html:219

calling require source/column_data_source image_url.html:219

calling require renderer/glyph/glyph_factory image_url.html:219

calling require tool/box_select_tool image_url.html:219

calling require range/data_range1d image_url.html:219

calling require ticking/basic_ticker image_url.html:219

calling require renderer/guide/linear_axis image_url.html:219

calling require renderer/guide/grid image_url.html:219

calling require renderer/overlay/box_selection image_url.html:219

calling require tool/pan_tool image_url.html:219

calling require tool/wheel_zoom_tool image_url.html:219

calling require tool/preview_save_tool image_url.html:219

calling require tool/resize_tool image_url.html:219

calling require tool/reset_tool image_url.html:219

calling require common/plot image_url.html:219

calling require tool/box_zoom_tool image_url.html:219

calling require common/plot_context image_url.html:219

unknown glyph type ‘image_url’ image_url.html:211

Uncaught TypeError: undefined is not a function image_url.html:205

···

On Monday, April 21, 2014 1:24:00 PM UTC-7, Bryan Van de ven wrote:

Hi Kevin,

Thanks for your patience. The issues as that you need to have a newly rebuilt version of the bokehjs, which requires a few extra steps. They are outlines here:

    [http://bokeh.pydata.org/docs/dev_guide.html#coffeescript](http://bokeh.pydata.org/docs/dev_guide.html#coffeescript)

but for brevity’s sake, they are basically this:

  1. install node/npm

  2. npm install -g grunt-cli

  3. cd bokehjs; npm install

Then you can cd back to the top level and run: “python setup.py develop --build_js” or “python setup.py install --build_js”

I would suggest doing a “conda remove bokeh” and also clearing out bokeh* from your site-packages.

Let us know if this helps!

Bryan

On Apr 21, 2014, at 3:01 PM, Kevin Jamieson [email protected] wrote:

When I run that command (in the directory of setup.py) I get

python setup.py install --build_js

deploying bokehjs…

Traceback (most recent call last):

File “setup.py”, line 195, in

out = subprocess.check_output(['grunt', 'deploy'])

File “/Users/kevinjamieson/anaconda/lib/python2.7/subprocess.py”, line 566, in check_output

process = Popen(stdout=PIPE, *popenargs, **kwargs)

File “/Users/kevinjamieson/anaconda/lib/python2.7/subprocess.py”, line 709, in init

errread, errwrite)

File “/Users/kevinjamieson/anaconda/lib/python2.7/subprocess.py”, line 1326, in _execute_child

raise child_exception

OSError: [Errno 2] No such file or directory

Is it an issue that I installed bokeh originally using anaconda distribution and then started using the cloned repository?

Also, for some directory information, when I run “python setup.py install” I see

Installing bokeh…

/Users/kevinjamieson/anaconda/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: ‘zip_safe’

warnings.warn(msg)

/Users/kevinjamieson/anaconda/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: ‘install_requires’

warnings.warn(msg)

running install

running build

got version from git {‘version’: ‘0.4.4-49-ge939f7f’, ‘full’: ‘e939f7fe3d0b70f7d943dd2494c2dae8fb68d1b5’}

running build_py

copying bokeh/server/static/js/bokeh.js → build/lib/bokeh/server/static/js

copying bokeh/server/static/js/bokeh.min.js → build/lib/bokeh/server/static/js

running build_scripts

UPDATING build/lib/bokeh/_version.py

running install_lib

copying build/lib/bokeh/_version.py → /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh

copying build/lib/bokeh/server/static/js/bokeh.js → /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh/server/static/js

copying build/lib/bokeh/server/static/js/bokeh.min.js → /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh/server/static/js

byte-compiling /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh/_version.py to _version.pyc

running install_scripts

changing mode of /Users/kevinjamieson/anaconda/bin/bokeh-server to 755

running install_egg_info

Removing /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh-0.4.4_49_ge939f7f-py2.7.egg-info

Writing /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh-0.4.4_49_ge939f7f-py2.7.egg-info

On Monday, April 21, 2014 12:50:49 PM UTC-7, Damian Avila wrote:

Can you please run:

python setup.py install --build_js

and try again…

On Mon, Apr 21, 2014 at 4:44 PM, Kevin Jamieson [email protected] wrote:

Thank all of you for your attention on this issue, it is much appreciated. Unfortunately, I still run into problems running the example you’ve added.

I clone the latest, run “python setup.py install” in the directory to update things, go into terminal and enter python and check for updated version:

import bokeh
bokeh.version

‘0.4.4-49-ge939f7f’

Now I navigate to examples/plotting/file and type “python image_url.py” and image_url.html is created successfully, the browser (Chrome 34.0.1847.116, also Safari) is launched but all I see is “Plots” with nothing else. When I look at the javascript console, I see

1d8c6072-2add-4441-9517-82aaa942f244 PlotContext 30ffaace-e41e-430f-aba9-c58cc956edfa image_url.html:229

calling require source/column_data_source image_url.html:219

calling require range/data_range1d image_url.html:219

calling require ticking/basic_tick_formatter image_url.html:219

calling require ticking/basic_ticker image_url.html:219

calling require renderer/guide/linear_axis image_url.html:219

calling require renderer/guide/grid image_url.html:219

calling require tool/box_zoom_tool image_url.html:219

calling require renderer/overlay/box_selection image_url.html:219

calling require renderer/glyph/glyph_factory image_url.html:219

calling require tool/box_select_tool image_url.html:219

calling require tool/pan_tool image_url.html:219

calling require tool/wheel_zoom_tool image_url.html:219

calling require tool/preview_save_tool image_url.html:219

calling require tool/resize_tool image_url.html:219

calling require tool/reset_tool image_url.html:219

calling require common/plot image_url.html:219

calling require common/plot_context image_url.html:219

unknown glyph type ‘image_url’ image_url.html:211

Uncaught TypeError: undefined is not a function image_url.html:205

error with binder

n

change:x_range image_url.html:205

error with binder

n

change:y_range image_url.html:205

error with binder

n

change:x_range image_url.html:205

error with binder

n

change:y_range image_url.html:205

I should mention that if I try “python image_rgba.py” everything works as expected.

Any suggestions?

Thanks

On Monday, April 21, 2014 10:26:20 AM UTC-7, Bryan Van de ven wrote:

This PR is merged and the issue is fixed on master. Additionally an example has been added at

    examples/plotting/file/image_url.py

Thanks,

Bryan


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/fbf8c562-1798-4985-8f87-bcbecd006b06%40continuum.io.

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


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/c0335538-a214-4ada-871d-e578d52e151f%40continuum.io.

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

Kevin,

I think this is actually a problem with setup.py. On a fresh checkout, it works with "develop" but not "install". Can you clear bokeh out of site-packages again, and try "python setup.py develop --build_js" just to confirm? Note this will leave a bokeh.pth in your site-packages. I will try to push a fix to setup.py tonight.

Thanks,

Bryan

···

On Apr 21, 2014, at 4:41 PM, Kevin Jamieson <[email protected]> wrote:

Bryan,

I'm afraid there is no change.

I ran "conda remove bokeh" and also did "python setup.py install --record files.txt" and "cat files.txt | xargs rm -rf" to be safe. I then installed npm, installed grunt, ran npm install in bokehjs with no errors. Then went back to the main directory and ran "python setup.py install --build_js" and still got the error. I then removed everything again, ran "python setup.py install" then built bokehjs again and ran "python setup.py install --build_js" with no luck. Still get:

c9eec0d7-9187-43d3-bc38-bb34c43e518f PlotContext fe16f717-bb90-4bb9-84d0-c966de797683 image_url.html:229
calling require ticking/basic_tick_formatter image_url.html:219
calling require source/column_data_source image_url.html:219
calling require renderer/glyph/glyph_factory image_url.html:219
calling require tool/box_select_tool image_url.html:219
calling require range/data_range1d image_url.html:219
calling require ticking/basic_ticker image_url.html:219
calling require renderer/guide/linear_axis image_url.html:219
calling require renderer/guide/grid image_url.html:219
calling require renderer/overlay/box_selection image_url.html:219
calling require tool/pan_tool image_url.html:219
calling require tool/wheel_zoom_tool image_url.html:219
calling require tool/preview_save_tool image_url.html:219
calling require tool/resize_tool image_url.html:219
calling require tool/reset_tool image_url.html:219
calling require common/plot image_url.html:219
calling require tool/box_zoom_tool image_url.html:219
calling require common/plot_context image_url.html:219
unknown glyph type 'image_url' image_url.html:211
Uncaught TypeError: undefined is not a function image_url.html:205

On Monday, April 21, 2014 1:24:00 PM UTC-7, Bryan Van de ven wrote:
Hi Kevin,

Thanks for your patience. The issues as that you need to have a newly rebuilt version of the bokehjs, which requires a few extra steps. They are outlines here:

        http://bokeh.pydata.org/docs/dev_guide.html#coffeescript

but for brevity's sake, they are basically this:

1) install node/npm
2) npm install -g grunt-cli
3) cd bokehjs; npm install

Then you can cd back to the top level and run: "python setup.py develop --build_js" or "python setup.py install --build_js"

I would suggest doing a "conda remove bokeh" and also clearing out bokeh* from your site-packages.

Let us know if this helps!

Bryan

On Apr 21, 2014, at 3:01 PM, Kevin Jamieson <[email protected]> wrote:

> When I run that command (in the directory of setup.py) I get
>
> python setup.py install --build_js
>
> deploying bokehjs...
>
> Traceback (most recent call last):
>
> File "setup.py", line 195, in <module>
>
> out = subprocess.check_output(['grunt', 'deploy'])
>
> File "/Users/kevinjamieson/anaconda/lib/python2.7/subprocess.py", line 566, in check_output
>
> process = Popen(stdout=PIPE, *popenargs, **kwargs)
>
> File "/Users/kevinjamieson/anaconda/lib/python2.7/subprocess.py", line 709, in __init__
>
> errread, errwrite)
>
> File "/Users/kevinjamieson/anaconda/lib/python2.7/subprocess.py", line 1326, in _execute_child
>
> raise child_exception
>
> OSError: [Errno 2] No such file or directory
>
>
>
> Is it an issue that I installed bokeh originally using anaconda distribution and then started using the cloned repository?
>
>
>
> Also, for some directory information, when I run "python setup.py install" I see
>
>
>
>
>
> Installing bokeh...
>
> /Users/kevinjamieson/anaconda/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
>
> warnings.warn(msg)
>
> /Users/kevinjamieson/anaconda/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
>
> warnings.warn(msg)
>
> running install
>
> running build
>
> got version from git {'version': '0.4.4-49-ge939f7f', 'full': 'e939f7fe3d0b70f7d943dd2494c2dae8fb68d1b5'}
>
> running build_py
>
> copying bokeh/server/static/js/bokeh.js -> build/lib/bokeh/server/static/js
>
> copying bokeh/server/static/js/bokeh.min.js -> build/lib/bokeh/server/static/js
>
> running build_scripts
>
> UPDATING build/lib/bokeh/_version.py
>
> running install_lib
>
> copying build/lib/bokeh/_version.py -> /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh
>
> copying build/lib/bokeh/server/static/js/bokeh.js -> /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh/server/static/js
>
> copying build/lib/bokeh/server/static/js/bokeh.min.js -> /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh/server/static/js
>
> byte-compiling /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh/_version.py to _version.pyc
>
> running install_scripts
>
> changing mode of /Users/kevinjamieson/anaconda/bin/bokeh-server to 755
>
> running install_egg_info
>
> Removing /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh-0.4.4_49_ge939f7f-py2.7.egg-info
>
> Writing /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh-0.4.4_49_ge939f7f-py2.7.egg-info
>
>
>
>
>
>
> On Monday, April 21, 2014 12:50:49 PM UTC-7, Damian Avila wrote:
> Can you please run:
>
> python setup.py install --build_js
>
> and try again...
>
>
> On Mon, Apr 21, 2014 at 4:44 PM, Kevin Jamieson <[email protected]> wrote:
> Thank all of you for your attention on this issue, it is much appreciated. Unfortunately, I still run into problems running the example you've added.
>
> I clone the latest, run "python setup.py install" in the directory to update things, go into terminal and enter python and check for updated version:
> >>> import bokeh
> >>> bokeh.__version__
> '0.4.4-49-ge939f7f'
>
> Now I navigate to examples/plotting/file and type "python image_url.py" and image_url.html is created successfully, the browser (Chrome 34.0.1847.116, also Safari) is launched but all I see is "Plots" with nothing else. When I look at the javascript console, I see
>
> 1d8c6072-2add-4441-9517-82aaa942f244 PlotContext 30ffaace-e41e-430f-aba9-c58cc956edfa image_url.html:229
> calling require source/column_data_source image_url.html:219
> calling require range/data_range1d image_url.html:219
> calling require ticking/basic_tick_formatter image_url.html:219
> calling require ticking/basic_ticker image_url.html:219
> calling require renderer/guide/linear_axis image_url.html:219
> calling require renderer/guide/grid image_url.html:219
> calling require tool/box_zoom_tool image_url.html:219
> calling require renderer/overlay/box_selection image_url.html:219
> calling require renderer/glyph/glyph_factory image_url.html:219
> calling require tool/box_select_tool image_url.html:219
> calling require tool/pan_tool image_url.html:219
> calling require tool/wheel_zoom_tool image_url.html:219
> calling require tool/preview_save_tool image_url.html:219
> calling require tool/resize_tool image_url.html:219
> calling require tool/reset_tool image_url.html:219
> calling require common/plot image_url.html:219
> calling require common/plot_context image_url.html:219
> unknown glyph type 'image_url' image_url.html:211
> Uncaught TypeError: undefined is not a function image_url.html:205
> error with binder
>
> n
> change:x_range image_url.html:205
> error with binder
>
> n
> change:y_range image_url.html:205
> error with binder
>
> n
> change:x_range image_url.html:205
> error with binder
>
> n
> change:y_range image_url.html:205
>
>
> I should mention that if I try "python image_rgba.py" everything works as expected.
>
> Any suggestions?
>
> Thanks
>
> On Monday, April 21, 2014 10:26:20 AM UTC-7, Bryan Van de ven wrote:
>
> This PR is merged and the issue is fixed on master. Additionally an example has been added at
>
> examples/plotting/file/image_url.py
>
> Thanks,
>
> Bryan
>
>
>
> --
> 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 bokeh+un...@continuum.io.
> To post to this group, send email to bo...@continuum.io.
> To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/fbf8c562-1798-4985-8f87-bcbecd006b06%40continuum.io\.
>
> For more options, visit https://groups.google.com/a/continuum.io/d/optout\.
>
>
> --
> 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 bokeh+un...@continuum.io.
> To post to this group, send email to bo...@continuum.io.
> To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/c0335538-a214-4ada-871d-e578d52e151f%40continuum.io\.
> For more options, visit https://groups.google.com/a/continuum.io/d/optout\.

--
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/64eadd0d-faf0-44f2-a467-e8d86424cc9f%40continuum.io\.
For more options, visit https://groups.google.com/a/continuum.io/d/optout\.

Actually, maybe not a problem per se... if you run "setup.py install" it copies over the last released js (which does not have the changes). You have to do "setup.py develop" to get the latest built js. I am not sure whether we want to change this, or not. For now, though, running "python setup.py develop --build_js" should get you going. This fix will also be the next release soon.

Bryan

···

On Apr 21, 2014, at 4:41 PM, Kevin Jamieson <[email protected]> wrote:

Bryan,

I'm afraid there is no change.

I ran "conda remove bokeh" and also did "python setup.py install --record files.txt" and "cat files.txt | xargs rm -rf" to be safe. I then installed npm, installed grunt, ran npm install in bokehjs with no errors. Then went back to the main directory and ran "python setup.py install --build_js" and still got the error. I then removed everything again, ran "python setup.py install" then built bokehjs again and ran "python setup.py install --build_js" with no luck. Still get:

c9eec0d7-9187-43d3-bc38-bb34c43e518f PlotContext fe16f717-bb90-4bb9-84d0-c966de797683 image_url.html:229
calling require ticking/basic_tick_formatter image_url.html:219
calling require source/column_data_source image_url.html:219
calling require renderer/glyph/glyph_factory image_url.html:219
calling require tool/box_select_tool image_url.html:219
calling require range/data_range1d image_url.html:219
calling require ticking/basic_ticker image_url.html:219
calling require renderer/guide/linear_axis image_url.html:219
calling require renderer/guide/grid image_url.html:219
calling require renderer/overlay/box_selection image_url.html:219
calling require tool/pan_tool image_url.html:219
calling require tool/wheel_zoom_tool image_url.html:219
calling require tool/preview_save_tool image_url.html:219
calling require tool/resize_tool image_url.html:219
calling require tool/reset_tool image_url.html:219
calling require common/plot image_url.html:219
calling require tool/box_zoom_tool image_url.html:219
calling require common/plot_context image_url.html:219
unknown glyph type 'image_url' image_url.html:211
Uncaught TypeError: undefined is not a function image_url.html:205

On Monday, April 21, 2014 1:24:00 PM UTC-7, Bryan Van de ven wrote:
Hi Kevin,

Thanks for your patience. The issues as that you need to have a newly rebuilt version of the bokehjs, which requires a few extra steps. They are outlines here:

        http://bokeh.pydata.org/docs/dev_guide.html#coffeescript

but for brevity's sake, they are basically this:

1) install node/npm
2) npm install -g grunt-cli
3) cd bokehjs; npm install

Then you can cd back to the top level and run: "python setup.py develop --build_js" or "python setup.py install --build_js"

I would suggest doing a "conda remove bokeh" and also clearing out bokeh* from your site-packages.

Let us know if this helps!

Bryan

On Apr 21, 2014, at 3:01 PM, Kevin Jamieson <[email protected]> wrote:

> When I run that command (in the directory of setup.py) I get
>
> python setup.py install --build_js
>
> deploying bokehjs...
>
> Traceback (most recent call last):
>
> File "setup.py", line 195, in <module>
>
> out = subprocess.check_output(['grunt', 'deploy'])
>
> File "/Users/kevinjamieson/anaconda/lib/python2.7/subprocess.py", line 566, in check_output
>
> process = Popen(stdout=PIPE, *popenargs, **kwargs)
>
> File "/Users/kevinjamieson/anaconda/lib/python2.7/subprocess.py", line 709, in __init__
>
> errread, errwrite)
>
> File "/Users/kevinjamieson/anaconda/lib/python2.7/subprocess.py", line 1326, in _execute_child
>
> raise child_exception
>
> OSError: [Errno 2] No such file or directory
>
>
>
> Is it an issue that I installed bokeh originally using anaconda distribution and then started using the cloned repository?
>
>
>
> Also, for some directory information, when I run "python setup.py install" I see
>
>
>
>
>
> Installing bokeh...
>
> /Users/kevinjamieson/anaconda/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
>
> warnings.warn(msg)
>
> /Users/kevinjamieson/anaconda/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
>
> warnings.warn(msg)
>
> running install
>
> running build
>
> got version from git {'version': '0.4.4-49-ge939f7f', 'full': 'e939f7fe3d0b70f7d943dd2494c2dae8fb68d1b5'}
>
> running build_py
>
> copying bokeh/server/static/js/bokeh.js -> build/lib/bokeh/server/static/js
>
> copying bokeh/server/static/js/bokeh.min.js -> build/lib/bokeh/server/static/js
>
> running build_scripts
>
> UPDATING build/lib/bokeh/_version.py
>
> running install_lib
>
> copying build/lib/bokeh/_version.py -> /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh
>
> copying build/lib/bokeh/server/static/js/bokeh.js -> /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh/server/static/js
>
> copying build/lib/bokeh/server/static/js/bokeh.min.js -> /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh/server/static/js
>
> byte-compiling /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh/_version.py to _version.pyc
>
> running install_scripts
>
> changing mode of /Users/kevinjamieson/anaconda/bin/bokeh-server to 755
>
> running install_egg_info
>
> Removing /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh-0.4.4_49_ge939f7f-py2.7.egg-info
>
> Writing /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh-0.4.4_49_ge939f7f-py2.7.egg-info
>
>
>
>
>
>
> On Monday, April 21, 2014 12:50:49 PM UTC-7, Damian Avila wrote:
> Can you please run:
>
> python setup.py install --build_js
>
> and try again...
>
>
> On Mon, Apr 21, 2014 at 4:44 PM, Kevin Jamieson <[email protected]> wrote:
> Thank all of you for your attention on this issue, it is much appreciated. Unfortunately, I still run into problems running the example you've added.
>
> I clone the latest, run "python setup.py install" in the directory to update things, go into terminal and enter python and check for updated version:
> >>> import bokeh
> >>> bokeh.__version__
> '0.4.4-49-ge939f7f'
>
> Now I navigate to examples/plotting/file and type "python image_url.py" and image_url.html is created successfully, the browser (Chrome 34.0.1847.116, also Safari) is launched but all I see is "Plots" with nothing else. When I look at the javascript console, I see
>
> 1d8c6072-2add-4441-9517-82aaa942f244 PlotContext 30ffaace-e41e-430f-aba9-c58cc956edfa image_url.html:229
> calling require source/column_data_source image_url.html:219
> calling require range/data_range1d image_url.html:219
> calling require ticking/basic_tick_formatter image_url.html:219
> calling require ticking/basic_ticker image_url.html:219
> calling require renderer/guide/linear_axis image_url.html:219
> calling require renderer/guide/grid image_url.html:219
> calling require tool/box_zoom_tool image_url.html:219
> calling require renderer/overlay/box_selection image_url.html:219
> calling require renderer/glyph/glyph_factory image_url.html:219
> calling require tool/box_select_tool image_url.html:219
> calling require tool/pan_tool image_url.html:219
> calling require tool/wheel_zoom_tool image_url.html:219
> calling require tool/preview_save_tool image_url.html:219
> calling require tool/resize_tool image_url.html:219
> calling require tool/reset_tool image_url.html:219
> calling require common/plot image_url.html:219
> calling require common/plot_context image_url.html:219
> unknown glyph type 'image_url' image_url.html:211
> Uncaught TypeError: undefined is not a function image_url.html:205
> error with binder
>
> n
> change:x_range image_url.html:205
> error with binder
>
> n
> change:y_range image_url.html:205
> error with binder
>
> n
> change:x_range image_url.html:205
> error with binder
>
> n
> change:y_range image_url.html:205
>
>
> I should mention that if I try "python image_rgba.py" everything works as expected.
>
> Any suggestions?
>
> Thanks
>
> On Monday, April 21, 2014 10:26:20 AM UTC-7, Bryan Van de ven wrote:
>
> This PR is merged and the issue is fixed on master. Additionally an example has been added at
>
> examples/plotting/file/image_url.py
>
> Thanks,
>
> Bryan
>
>
>
> --
> 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 bokeh+un...@continuum.io.
> To post to this group, send email to bo...@continuum.io.
> To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/fbf8c562-1798-4985-8f87-bcbecd006b06%40continuum.io\.
>
> For more options, visit https://groups.google.com/a/continuum.io/d/optout\.
>
>
> --
> 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 bokeh+un...@continuum.io.
> To post to this group, send email to bo...@continuum.io.
> To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/c0335538-a214-4ada-871d-e578d52e151f%40continuum.io\.
> For more options, visit https://groups.google.com/a/continuum.io/d/optout\.

--
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/64eadd0d-faf0-44f2-a467-e8d86424cc9f%40continuum.io\.
For more options, visit https://groups.google.com/a/continuum.io/d/optout\.

Success! Thanks to all that helped, I really appreciate it. This is an awesome product and a great community.

What is the eta of a release thats a bit more user friendly to distribute (this is fine for my testing purposes but I’d rather not have to go through this on my production server)?

I see what you mean when you say the interface is a bit clunky. Because you asked, ideally, I’d like to have the following functionality with image_url (rgba):

For each image added to plot, attributes for

  1. (x,y) - point denoting center location of image in “real” plot space (defines (s,t) location in canvas space)

  2. (ds,dt) - INITIAL size of image in canvas space relative to the input canvas size.

  3. lock_scale_flag - boolean value indicating whether you want the image size to remain constant in canvas space (i.e. if you wheel zoom in and out, the size of the image on your screen would not change, using the current settings it would be set to True as this is the case now. Using image_rgba and defining dw,dh parameters this would be equivalent to this parameter being False)

  4. alpha - parameter controlling the transparency of the whole image. This is sometimes desired when images overlap due to them being too close and you want to see what’s going on rather than them just piling on top of each other

  5. hovering over an image enlarges it - (this may already be possible with the built in hovering tool and making a larger image appear inside a hover box, I’ve yet to fully learn the capabilities of that tool; this would also be nice for regular scatter plots)

This may not be the best place to post this kind of request so apologies for that. Thanks to everyone again!

Kevin

···

On Monday, April 21, 2014 3:18:29 PM UTC-7, Bryan Van de ven wrote:

Actually, maybe not a problem per se… if you run “setup.py install” it copies over the last released js (which does not have the changes). You have to do “setup.py develop” to get the latest built js. I am not sure whether we want to change this, or not. For now, though, running “python setup.py develop --build_js” should get you going. This fix will also be the next release soon.

Bryan

On Apr 21, 2014, at 4:41 PM, Kevin Jamieson [email protected] wrote:

Bryan,

I’m afraid there is no change.

I ran “conda remove bokeh” and also did “python setup.py install --record files.txt” and “cat files.txt | xargs rm -rf” to be safe. I then installed npm, installed grunt, ran npm install in bokehjs with no errors. Then went back to the main directory and ran “python setup.py install --build_js” and still got the error. I then removed everything again, ran “python setup.py install” then built bokehjs again and ran “python setup.py install --build_js” with no luck. Still get:

c9eec0d7-9187-43d3-bc38-bb34c43e518f PlotContext fe16f717-bb90-4bb9-84d0-c966de797683 image_url.html:229

calling require ticking/basic_tick_formatter image_url.html:219

calling require source/column_data_source image_url.html:219

calling require renderer/glyph/glyph_factory image_url.html:219

calling require tool/box_select_tool image_url.html:219

calling require range/data_range1d image_url.html:219

calling require ticking/basic_ticker image_url.html:219

calling require renderer/guide/linear_axis image_url.html:219

calling require renderer/guide/grid image_url.html:219

calling require renderer/overlay/box_selection image_url.html:219

calling require tool/pan_tool image_url.html:219

calling require tool/wheel_zoom_tool image_url.html:219

calling require tool/preview_save_tool image_url.html:219

calling require tool/resize_tool image_url.html:219

calling require tool/reset_tool image_url.html:219

calling require common/plot image_url.html:219

calling require tool/box_zoom_tool image_url.html:219

calling require common/plot_context image_url.html:219

unknown glyph type ‘image_url’ image_url.html:211

Uncaught TypeError: undefined is not a function image_url.html:205

On Monday, April 21, 2014 1:24:00 PM UTC-7, Bryan Van de ven wrote:

Hi Kevin,

Thanks for your patience. The issues as that you need to have a newly rebuilt version of the bokehjs, which requires a few extra steps. They are outlines here:

    [http://bokeh.pydata.org/docs/dev_guide.html#coffeescript](http://bokeh.pydata.org/docs/dev_guide.html#coffeescript)

but for brevity’s sake, they are basically this:

  1. install node/npm
  2. npm install -g grunt-cli
  3. cd bokehjs; npm install

Then you can cd back to the top level and run: “python setup.py develop --build_js” or “python setup.py install --build_js”

I would suggest doing a “conda remove bokeh” and also clearing out bokeh* from your site-packages.

Let us know if this helps!

Bryan

On Apr 21, 2014, at 3:01 PM, Kevin Jamieson [email protected] wrote:

When I run that command (in the directory of setup.py) I get

python setup.py install --build_js

deploying bokehjs…

Traceback (most recent call last):

File “setup.py”, line 195, in

out = subprocess.check_output(['grunt', 'deploy'])

File “/Users/kevinjamieson/anaconda/lib/python2.7/subprocess.py”, line 566, in check_output

process = Popen(stdout=PIPE, *popenargs, **kwargs)

File “/Users/kevinjamieson/anaconda/lib/python2.7/subprocess.py”, line 709, in init

errread, errwrite)

File “/Users/kevinjamieson/anaconda/lib/python2.7/subprocess.py”, line 1326, in _execute_child

raise child_exception

OSError: [Errno 2] No such file or directory

Is it an issue that I installed bokeh originally using anaconda distribution and then started using the cloned repository?

Also, for some directory information, when I run “python setup.py install” I see

Installing bokeh…

/Users/kevinjamieson/anaconda/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: ‘zip_safe’

warnings.warn(msg)

/Users/kevinjamieson/anaconda/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: ‘install_requires’

warnings.warn(msg)

running install

running build

got version from git {‘version’: ‘0.4.4-49-ge939f7f’, ‘full’: ‘e939f7fe3d0b70f7d943dd2494c2dae8fb68d1b5’}

running build_py

copying bokeh/server/static/js/bokeh.js → build/lib/bokeh/server/static/js

copying bokeh/server/static/js/bokeh.min.js → build/lib/bokeh/server/static/js

running build_scripts

UPDATING build/lib/bokeh/_version.py

running install_lib

copying build/lib/bokeh/_version.py → /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh

copying build/lib/bokeh/server/static/js/bokeh.js → /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh/server/static/js

copying build/lib/bokeh/server/static/js/bokeh.min.js → /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh/server/static/js

byte-compiling /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh/_version.py to _version.pyc

running install_scripts

changing mode of /Users/kevinjamieson/anaconda/bin/bokeh-server to 755

running install_egg_info

Removing /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh-0.4.4_49_ge939f7f-py2.7.egg-info

Writing /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh-0.4.4_49_ge939f7f-py2.7.egg-info

On Monday, April 21, 2014 12:50:49 PM UTC-7, Damian Avila wrote:
Can you please run:

python setup.py install --build_js

and try again…

On Mon, Apr 21, 2014 at 4:44 PM, Kevin Jamieson [email protected] wrote:
Thank all of you for your attention on this issue, it is much appreciated. Unfortunately, I still run into problems running the example you’ve added.

I clone the latest, run “python setup.py install” in the directory to update things, go into terminal and enter python and check for updated version:

import bokeh
bokeh.version
‘0.4.4-49-ge939f7f’

Now I navigate to examples/plotting/file and type “python image_url.py” and image_url.html is created successfully, the browser (Chrome 34.0.1847.116, also Safari) is launched but all I see is “Plots” with nothing else. When I look at the javascript console, I see

1d8c6072-2add-4441-9517-82aaa942f244 PlotContext 30ffaace-e41e-430f-aba9-c58cc956edfa image_url.html:229
calling require source/column_data_source image_url.html:219
calling require range/data_range1d image_url.html:219
calling require ticking/basic_tick_formatter image_url.html:219
calling require ticking/basic_ticker image_url.html:219
calling require renderer/guide/linear_axis image_url.html:219
calling require renderer/guide/grid image_url.html:219
calling require tool/box_zoom_tool image_url.html:219
calling require renderer/overlay/box_selection image_url.html:219
calling require renderer/glyph/glyph_factory image_url.html:219
calling require tool/box_select_tool image_url.html:219
calling require tool/pan_tool image_url.html:219
calling require tool/wheel_zoom_tool image_url.html:219
calling require tool/preview_save_tool image_url.html:219
calling require tool/resize_tool image_url.html:219
calling require tool/reset_tool image_url.html:219
calling require common/plot image_url.html:219
calling require common/plot_context image_url.html:219
unknown glyph type ‘image_url’ image_url.html:211
Uncaught TypeError: undefined is not a function image_url.html:205
error with binder

n
change:x_range image_url.html:205
error with binder

n
change:y_range image_url.html:205
error with binder

n
change:x_range image_url.html:205
error with binder

n
change:y_range image_url.html:205

I should mention that if I try “python image_rgba.py” everything works as expected.

Any suggestions?

Thanks

On Monday, April 21, 2014 10:26:20 AM UTC-7, Bryan Van de ven wrote:

This PR is merged and the issue is fixed on master. Additionally an example has been added at

    examples/plotting/file/image_url.py

Thanks,

Bryan


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/fbf8c562-1798-4985-8f87-bcbecd006b06%40continuum.io.

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


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/c0335538-a214-4ada-871d-e578d52e151f%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.


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/64eadd0d-faf0-44f2-a467-e8d86424cc9f%40continuum.io.

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

OK last message. :slight_smile: After some consideration we decided "python setup.py install --build_js" should install the built js, so I have pushed that change to master. Your original attempt with "python setup.py install --build_js" should work now.

Thanks,

Bryan

···

On Apr 21, 2014, at 4:41 PM, Kevin Jamieson <[email protected]> wrote:

Bryan,

I'm afraid there is no change.

I ran "conda remove bokeh" and also did "python setup.py install --record files.txt" and "cat files.txt | xargs rm -rf" to be safe. I then installed npm, installed grunt, ran npm install in bokehjs with no errors. Then went back to the main directory and ran "python setup.py install --build_js" and still got the error. I then removed everything again, ran "python setup.py install" then built bokehjs again and ran "python setup.py install --build_js" with no luck. Still get:

c9eec0d7-9187-43d3-bc38-bb34c43e518f PlotContext fe16f717-bb90-4bb9-84d0-c966de797683 image_url.html:229
calling require ticking/basic_tick_formatter image_url.html:219
calling require source/column_data_source image_url.html:219
calling require renderer/glyph/glyph_factory image_url.html:219
calling require tool/box_select_tool image_url.html:219
calling require range/data_range1d image_url.html:219
calling require ticking/basic_ticker image_url.html:219
calling require renderer/guide/linear_axis image_url.html:219
calling require renderer/guide/grid image_url.html:219
calling require renderer/overlay/box_selection image_url.html:219
calling require tool/pan_tool image_url.html:219
calling require tool/wheel_zoom_tool image_url.html:219
calling require tool/preview_save_tool image_url.html:219
calling require tool/resize_tool image_url.html:219
calling require tool/reset_tool image_url.html:219
calling require common/plot image_url.html:219
calling require tool/box_zoom_tool image_url.html:219
calling require common/plot_context image_url.html:219
unknown glyph type 'image_url' image_url.html:211
Uncaught TypeError: undefined is not a function image_url.html:205

On Monday, April 21, 2014 1:24:00 PM UTC-7, Bryan Van de ven wrote:
Hi Kevin,

Thanks for your patience. The issues as that you need to have a newly rebuilt version of the bokehjs, which requires a few extra steps. They are outlines here:

        http://bokeh.pydata.org/docs/dev_guide.html#coffeescript

but for brevity's sake, they are basically this:

1) install node/npm
2) npm install -g grunt-cli
3) cd bokehjs; npm install

Then you can cd back to the top level and run: "python setup.py develop --build_js" or "python setup.py install --build_js"

I would suggest doing a "conda remove bokeh" and also clearing out bokeh* from your site-packages.

Let us know if this helps!

Bryan

On Apr 21, 2014, at 3:01 PM, Kevin Jamieson <[email protected]> wrote:

> When I run that command (in the directory of setup.py) I get
>
> python setup.py install --build_js
>
> deploying bokehjs...
>
> Traceback (most recent call last):
>
> File "setup.py", line 195, in <module>
>
> out = subprocess.check_output(['grunt', 'deploy'])
>
> File "/Users/kevinjamieson/anaconda/lib/python2.7/subprocess.py", line 566, in check_output
>
> process = Popen(stdout=PIPE, *popenargs, **kwargs)
>
> File "/Users/kevinjamieson/anaconda/lib/python2.7/subprocess.py", line 709, in __init__
>
> errread, errwrite)
>
> File "/Users/kevinjamieson/anaconda/lib/python2.7/subprocess.py", line 1326, in _execute_child
>
> raise child_exception
>
> OSError: [Errno 2] No such file or directory
>
>
>
> Is it an issue that I installed bokeh originally using anaconda distribution and then started using the cloned repository?
>
>
>
> Also, for some directory information, when I run "python setup.py install" I see
>
>
>
>
>
> Installing bokeh...
>
> /Users/kevinjamieson/anaconda/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
>
> warnings.warn(msg)
>
> /Users/kevinjamieson/anaconda/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
>
> warnings.warn(msg)
>
> running install
>
> running build
>
> got version from git {'version': '0.4.4-49-ge939f7f', 'full': 'e939f7fe3d0b70f7d943dd2494c2dae8fb68d1b5'}
>
> running build_py
>
> copying bokeh/server/static/js/bokeh.js -> build/lib/bokeh/server/static/js
>
> copying bokeh/server/static/js/bokeh.min.js -> build/lib/bokeh/server/static/js
>
> running build_scripts
>
> UPDATING build/lib/bokeh/_version.py
>
> running install_lib
>
> copying build/lib/bokeh/_version.py -> /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh
>
> copying build/lib/bokeh/server/static/js/bokeh.js -> /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh/server/static/js
>
> copying build/lib/bokeh/server/static/js/bokeh.min.js -> /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh/server/static/js
>
> byte-compiling /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh/_version.py to _version.pyc
>
> running install_scripts
>
> changing mode of /Users/kevinjamieson/anaconda/bin/bokeh-server to 755
>
> running install_egg_info
>
> Removing /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh-0.4.4_49_ge939f7f-py2.7.egg-info
>
> Writing /Users/kevinjamieson/anaconda/lib/python2.7/site-packages/bokeh-0.4.4_49_ge939f7f-py2.7.egg-info
>
>
>
>
>
>
> On Monday, April 21, 2014 12:50:49 PM UTC-7, Damian Avila wrote:
> Can you please run:
>
> python setup.py install --build_js
>
> and try again...
>
>
> On Mon, Apr 21, 2014 at 4:44 PM, Kevin Jamieson <[email protected]> wrote:
> Thank all of you for your attention on this issue, it is much appreciated. Unfortunately, I still run into problems running the example you've added.
>
> I clone the latest, run "python setup.py install" in the directory to update things, go into terminal and enter python and check for updated version:
> >>> import bokeh
> >>> bokeh.__version__
> '0.4.4-49-ge939f7f'
>
> Now I navigate to examples/plotting/file and type "python image_url.py" and image_url.html is created successfully, the browser (Chrome 34.0.1847.116, also Safari) is launched but all I see is "Plots" with nothing else. When I look at the javascript console, I see
>
> 1d8c6072-2add-4441-9517-82aaa942f244 PlotContext 30ffaace-e41e-430f-aba9-c58cc956edfa image_url.html:229
> calling require source/column_data_source image_url.html:219
> calling require range/data_range1d image_url.html:219
> calling require ticking/basic_tick_formatter image_url.html:219
> calling require ticking/basic_ticker image_url.html:219
> calling require renderer/guide/linear_axis image_url.html:219
> calling require renderer/guide/grid image_url.html:219
> calling require tool/box_zoom_tool image_url.html:219
> calling require renderer/overlay/box_selection image_url.html:219
> calling require renderer/glyph/glyph_factory image_url.html:219
> calling require tool/box_select_tool image_url.html:219
> calling require tool/pan_tool image_url.html:219
> calling require tool/wheel_zoom_tool image_url.html:219
> calling require tool/preview_save_tool image_url.html:219
> calling require tool/resize_tool image_url.html:219
> calling require tool/reset_tool image_url.html:219
> calling require common/plot image_url.html:219
> calling require common/plot_context image_url.html:219
> unknown glyph type 'image_url' image_url.html:211
> Uncaught TypeError: undefined is not a function image_url.html:205
> error with binder
>
> n
> change:x_range image_url.html:205
> error with binder
>
> n
> change:y_range image_url.html:205
> error with binder
>
> n
> change:x_range image_url.html:205
> error with binder
>
> n
> change:y_range image_url.html:205
>
>
> I should mention that if I try "python image_rgba.py" everything works as expected.
>
> Any suggestions?
>
> Thanks
>
> On Monday, April 21, 2014 10:26:20 AM UTC-7, Bryan Van de ven wrote:
>
> This PR is merged and the issue is fixed on master. Additionally an example has been added at
>
> examples/plotting/file/image_url.py
>
> Thanks,
>
> Bryan
>
>
>
> --
> 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 bokeh+un...@continuum.io.
> To post to this group, send email to bo...@continuum.io.
> To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/fbf8c562-1798-4985-8f87-bcbecd006b06%40continuum.io\.
>
> For more options, visit https://groups.google.com/a/continuum.io/d/optout\.
>
>
> --
> 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 bokeh+un...@continuum.io.
> To post to this group, send email to bo...@continuum.io.
> To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/c0335538-a214-4ada-871d-e578d52e151f%40continuum.io\.
> For more options, visit https://groups.google.com/a/continuum.io/d/optout\.

--
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/64eadd0d-faf0-44f2-a467-e8d86424cc9f%40continuum.io\.
For more options, visit https://groups.google.com/a/continuum.io/d/optout\.