Return information about selected points to console using server

I want to know how I can get information about selected points using the server. Let’s say I create a plot:

from bokeh.models import BoxSelectTool
from bokeh.plotting import figure, output_server, show, ColumnDataSource

x = [0,1,2,3,4]
y = [0,1,2,3,4]
desc = ["A", "B", "C", "D", "E"]

source = ColumnDataSource({'x':x, 'y':y, 'desc':desc})

output_server("Example")
p = figure(plot_width = 400, plot_height = 400, tools=[BoxSelectTool()])
p.circle('x', 'y', source = source, name = "circles")
show(p)

And I select a few nodes. How would I go about returning information about the selected nodes (for instance, their desc values) to the console? I know you can do something like this in matplotlib but I’m having trouble figuring out how to do this in Bokeh.