.. _userguide:

User guide
##########

.. toctree::
    :maxdepth: 2
    :hidden:

    user_guide/intro
    user_guide/basic
    user_guide/styling
    user_guide/topics
    user_guide/interaction
    user_guide/output
    user_guide/server
    user_guide/advanced

In this user guide, you will find detailed descriptions and examples that
describe many common tasks that you can accomplish with Bokeh. To get started
with Bokeh, you should first complete the steps described in
:ref:`first_steps_installing`.

.. tip::
    See the :ref:`first_steps_overview` for quick tutorials that walk you
    through Bokeh's basic functionalities and concepts. This is the easiest
    and quickest way to get going with Bokeh.

This user guide is arranged by topic:

:ref:`ug_intro`
    Learn important foundational concepts about how Bokeh is organized.

:ref:`ug_basic`
    Learn how to create different kinds of plots using the simple but flexible
    |bokeh.plotting| interface.

:ref:`ug_styling`
    Learn how to customize the appearance of your plots.

:ref:`ug_topics`
    Learn how to apply Bokeh's capabilities to specialized data and use-cases.

:ref:`ug_interaction`
    Learn how to make your plots more interactive and with features such as
    plot tools, widgets, and callbacks.

:ref:`ug_output`
    Learn how to export, embed, and display Bokeh plots in different contexts.

:ref:`ug_server`
    Learn how to use the Bokeh Server to build and publish complex data
    applications.

:ref:`ug_advanced`
    Learn how to use Bokeh with other tools, extend Bokeh, or create plots in
    JavaScript by using BokehJS directly.

The user guide contains a lot of examples. They are as minimal as possible and
usually focus on highlighting one functionality or concept each. You can copy
and paste those examples into your own development environment. With only a
handful of exceptions, you will need no external libraries to run the examples.
