.. _devguide:

Developers
##########

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

    dev_guide/setup
    dev_guide/env_vars
    dev_guide/testing
    dev_guide/documentation
    dev_guide/models
    dev_guide/server
    dev_guide/bindings
    dev_guide/bokehjs

Bokeh is an open source project and we love having new contributors. Hopefully,
you will find all the information you need in the following pages, linked below
and in the sidebar to the left. If not, please `contact the developers`_ with
any questions.

All changes, enhancements, and bugfixes should follow the guidelines defined in
the `Bokeh Enhancement Proposals`_ (BEPs). BEPs are records of major
developmental and structural decisions for the Bokeh project. This includes
guidelines for the software development process, especially in
`BEP 1 (Issues and PRs management)`_ and
`BEP 6 (Branching and Milestones)`_.

Everyone interacting in the Bokeh project's codebases, issue trackers, and
discussion forums is expected to follow the `Code of Conduct`_.

------

:ref:`devguide_setup`
    Installation of everything needed to be able to develop Bokeh and BokehJS.

:ref:`devguide_envvars`
    Environment settings useful for testing and debugging Bokeh.

:ref:`devguide_testing`
    Local and continuous integration testing infrastructure.

:ref:`devguide_documentation`
    Style guide and best practices for authoring documentation for Bokeh.

:ref:`devguide_models`
    Overview of Bokeh's declarative model system for interfacing with BokehJS.

:ref:`devguide_server`
    Architecture and implementation notes for the Bokeh server.

:ref:`devguide_bindings`
    Guidance for integrating Bokeh into other languages.

:ref:`devguide_bokehjs`
    Information specific to developing BokehJS.

.. _Bokeh Enhancement Proposals: https://github.com/bokeh/bokeh/wiki
.. _BEP 1 (Issues and PRs management): https://github.com/bokeh/bokeh/wiki/BEP-1:-Issues-and-PRs-management
.. _BEP 6 (Branching and Milestones): https://github.com/bokeh/bokeh/wiki/BEP-6:-Branching-and-Milestones
.. _Code of Conduct: https://github.com/bokeh/bokeh/blob/master/CODE_OF_CONDUCT.md
.. _contact the developers: https://discourse.bokeh.org/c/development
