Code Monkey home page Code Monkey logo

tutorial's Introduction

Bokeh tutorial notebooks

Binder

This repository contains a series of Jupyter notebooks. These notebooks are available as an interactive tutorial at https://mybinder.org/v2/gh/bokeh/tutorial/main?filepath=notebooks%2F01_introduction.ipynb

To learn about Bokeh, please use the tutorial on mybinder.org.

You can also install and run the notebooks on a local machine. This is helpful if you can't access mybinder.org, or if you want to contribute to this tutorial.

Presentation for Scipy 2023

This tutorial was presented live during the SciPy 2023 conference. The current state of the repository, as presented, can be accessed through the designated git tag, available here.

Additionally, the tutorial presentation is accessible on YouTube via the following link: https://youtu.be/G0Yc3ck4lC8?si=ZGqatTPnZBwjtdXO

Local setup

Follow these steps to run the tutorial notebooks on your local machine:

  1. To run the tutorial locally, first clone this repository to your local machine. For example:

    git clone [email protected]:bokeh/tutorial.git
  2. After cloning the repository, enter the folder that contains the repository contents:

    cd tutorial
  3. Next, you need to set up your environment. This tutorial uses the conda package manager. Please make sure conda or Miniconda are installed and configured correctly on your system.

    Run the following command inside your local repository folder to create your environment:

    conda env create -f environment.yml
  4. After the environment is set up, activate it with the following command:

    conda activate bk-tutorial
  5. Before opening the tutorial notebooks, you need to install the Bokeh sampledata. Make sure the bk-tutorial environment is activated, then run the following command:

    bokeh sampledata
  6. From inside the bk-tutorial environment, you can now start the Jupyter notebook server:

    jupyter notebook
  7. After opening Jupyter notebooks in a browser, go to the folder notebooks. Open the first notebook in this folder. It is called 01_introduction.ipynb.

Contributing to this tutorial

Thank you for helping to make this tutorial a better resource for everyone!

Everyone active in the Bokeh project’s codebases, issue trackers, and discussion forums is expected to follow the Code of Conduct. This includes working on these tutorials!

Preparing your environment

The bk-tutorial environment includes the necessary dependencies to contribute to this repository.

For consistency, we ask that you generally follow the Black code style wherever possible.

Making changes

Contributing to this tutorial repository works similarly to contributing to Bokeh itself:

  1. Open an issue in the issue tracker of this repository
  2. Make PR and link it to the issue you created

Once you have created a pull request, a member of the Bokeh core team will begin reviewing your pull request and may request changes or additions. If so, they will help you along the way with any questions you may have.

tutorial's People

Contributors

azaya89 avatar bryevdv avatar ianthomas23 avatar pavithraes avatar tcmetzger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tutorial's Issues

Pre-commit errors

I'm trying to make a commit while working on #20 but I'm getting an error during the pre-commit hooks:

nbqa-flake8..............................................................Failed
- hook id: nbqa-flake8
- exit code: 1

Traceback (most recent call last):
  File "/Users/mac/.cache/pre-commit/repon0oycc6g/py_env-python3.12/bin/nbqa", line 5, in <module>
    from nbqa.__main__ import main
  File "/Users/mac/.cache/pre-commit/repon0oycc6g/py_env-python3.12/lib/python3.12/site-packages/nbqa/__main__.py", line 28, in <module>
    from pkg_resources import parse_version
ModuleNotFoundError: No module named 'pkg_resources'

I checked the nbQa repo here https://github.com/nbQA-dev/nbQA/blob/main/nbqa/__main__.py#L37 and it appears pkg_resources has been deprecated. I'm not sure how to proceed with the commits if so...

@bryevdv @tcmetzger

Add floating UIs to tutorial repo

As a recent feature added to the Bokeh repo, it will be nice to add documentation in the tutorial for Floating UIs when the feature is more stable. This should be considered after maybe one or two more releases.

Add GitHub codespaces as an alternative to Binder

We have a link to Binder in our README for folks to quickly setup and run the tutorial. With the recent instability of Binder due to lack of funds, should we consider adding GitHub's codespaces as an alternative?

I noticed xarray do this: https://github.com/xarray-contrib/xarray-tutorial#github-codespaces, and looked into it. It's quite straightforward to add. It's also a safe+viable option for Bokeh because we don't have any tricky dependencies like extensions or distributed compute.

Update for Bokeh scatter marker changes

Bokeh is in the process of deprecating screen-sized scatter markers circle, square etc in favor of scatter with a marker parameter. There are some examples in the notebooks here that should be updated to avoid deprecation warnings.

cc @Azaya89

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.