From de568f84b9eefffb371fe88747bf3b0f3f2836d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20Bara=C3=BAna?= Date: Thu, 1 May 2025 11:11:17 -0300 Subject: [PATCH] Add a GitHub app notebook to the learn section (#2990) --- lib/livebook/notebook/learn.ex | 7 + .../notebook/learn/github_stars.livemd | 356 ++++++++++++++++++ static/images/github-stars.png | Bin 0 -> 75181 bytes 3 files changed, 363 insertions(+) create mode 100644 lib/livebook/notebook/learn/github_stars.livemd create mode 100644 static/images/github-stars.png diff --git a/lib/livebook/notebook/learn.ex b/lib/livebook/notebook/learn.ex index 471a63124..26b1d76af 100644 --- a/lib/livebook/notebook/learn.ex +++ b/lib/livebook/notebook/learn.ex @@ -83,6 +83,13 @@ defmodule Livebook.Notebook.Learn do cover_filename: "maplibre.png" } }, + %{ + path: Path.join(__DIR__, "learn/github_stars.livemd"), + details: %{ + description: "Build a Livebook app to visualize GitHub repository star growth over time.", + cover_filename: "github-stars.png" + } + }, %{ ref: :kino_intro, path: Path.join(__DIR__, "learn/kino/intro_to_kino.livemd") diff --git a/lib/livebook/notebook/learn/github_stars.livemd b/lib/livebook/notebook/learn/github_stars.livemd new file mode 100644 index 000000000..212e42a30 --- /dev/null +++ b/lib/livebook/notebook/learn/github_stars.livemd @@ -0,0 +1,356 @@ + + +# Counting GitHub Stars + +```elixir +Mix.install([ + {:kino, "~> 0.15.3"}, + {:req, "~> 0.5.10"}, + {:kino_vega_lite, "~> 0.1.13"} +]) +``` + +## Introduction + +In this tutorial, we'll build a simple Livebook app together. + +We'll create an app with a form where we can enter a GitHub repository name, and it will show us how the repository's stars have grown over time - displayed both as a chart and as a table. + +Let's get started. + +## GitHub API client + +First, we'll build a simple API client for GitHub. We need this to fetch the list of people who have starred a repository. + + + +We'll break our API client in two modules. + +The first one will be responsible for retrieving a list of stargazers for a given repository. + +```elixir +defmodule GitHubApi do + def stargazers(repo_name) do + stargazers_path = "/repos/#{repo_name}/stargazers?per_page=100" + + with {:ok, response} <- request(stargazers_path), + {:ok, responses} <- GitHubApi.Paginator.maybe_paginate(response) do + responses + |> Enum.flat_map(fn response -> parse_stargazers(response.body) end) + |> then(fn stargazers -> {:ok, stargazers} end) + end + end + + def request(path) do + case Req.get(new(), url: path) do + {:ok, %Req.Response{status: 200} = response} -> {:ok, response} + {:ok, %Req.Response{status: 403}} -> {:error, "GitHub API rate limit reached"} + {:ok, response} -> {:error, response.body["message"]} + {:error, exception} -> {:error, "Exception calling GitHub API: #{inspect(exception)}"} + end + end + + def new do + Req.new( + base_url: "https://api.github.com", + headers: [ + accept: "application/vnd.github.star+json", + "X-GitHub-Api-Version": "2022-11-28" + ] + ) + end + + defp parse_stargazers(stargazers) do + Enum.map(stargazers, fn stargazer -> + %{"starred_at" => starred_at, "user" => %{"login" => user_login}} = stargazer + {:ok, starred_at, _} = DateTime.from_iso8601(starred_at) + + %{ + starred_at: starred_at, + user_login: user_login + } + end) + end +end +``` + +This second module will handle the pagination of GitHub API responses. + +```elixir +defmodule GitHubApi.Paginator do + def maybe_paginate(response) do + responses = + if "link" in Map.keys(response.headers) do + paginate(response) + else + [response] + end + + {:ok, responses} + end + + def paginate(response) do + pageless_endpoint = pageless_endpoint(response.headers["link"]) + next_page = page_number(response.headers["link"], "next") + last_page = page_number(response.headers["link"], "last") + + additional_responses = + Task.async_stream( + next_page..last_page, + fn page -> GitHubApi.request(pageless_endpoint <> "&page=#{page}") end, + max_concurrency: 30 + ) + |> Enum.flat_map(fn + {:ok, {:ok, response}} -> [response] + _ -> [] + end) + + [response] ++ additional_responses + end + + defp pageless_endpoint(link_header) do + links = hd(link_header) + + %{"endpoint" => endpoint} = Regex.named_captures(~r/<(?.*?)>;\s/, links) + uri = URI.parse(endpoint) + + %{path: path} = Map.take(uri, [:path]) + + pageless_query = + URI.decode_query(uri.query) + |> Map.drop(["page"]) + |> URI.encode_query() + + "#{path}?#{pageless_query}" + end + + defp page_number(link_header, rel) do + links = hd(link_header) + + %{"page_number" => page_number} = + Regex.named_captures(~r/<.*page=(?\d+)>; rel="#{rel}"/, links) + + String.to_integer(page_number) + end +end +``` + +Let's try our client. + +Execute the cell below. You should see a list of GitHub users who starred the repository. + +```elixir +repo_name = "livebook-dev/livebook" +{:ok, stargazers} = GitHubApi.stargazers(repo_name) +``` + +## Data processing + +Now we need to transform our stargazers data into a format that works for visualization. We'll shape it to show cumulative star counts by date, like this: + + + +```elixir +%{ + date: [~D[2025-04-25], ~D[2025-04-24], ~D[2025-04-23]], + stars: [528, 510, 490] +} +``` + +The module below will transform the data to the way we need. + +```elixir +defmodule GithubDataProcessor do + def cumulative_star_dates(stargazers) do + stargazers + |> Enum.group_by(&DateTime.to_date(&1.starred_at)) + |> Enum.map(fn {date, stargazers} -> {date, Enum.count(stargazers)} end) + |> List.keysort(0, {:asc, Date}) + |> Enum.reduce(%{date: [], stars: [0]}, fn {date, stars}, acc -> + %{date: dates_acc, stars: stars_acc} = acc + + cumulative_stars = List.first(stars_acc) + stars + + %{date: [date | dates_acc], stars: [cumulative_stars | stars_acc]} + end) + end +end +``` + +Execute the cell below. You should see a data structure with dates and corresponding star counts. + +```elixir +data = GithubDataProcessor.cumulative_star_dates(stargazers) +``` + +## Creating mock data + +GitHub has API rate limits that we might hit. Let's prepare some mock data so our app will work even if the API is unavailable. + +```elixir +mock_data = %{ + date: [ + ~D[2025-04-25], ~D[2025-04-24], ~D[2025-04-23], ~D[2025-04-22], ~D[2025-04-21], + ~D[2025-04-20], ~D[2025-04-19], ~D[2025-04-18], ~D[2025-04-17], ~D[2025-04-16], + ~D[2025-04-15], ~D[2025-04-14], ~D[2025-04-13], ~D[2025-04-12], ~D[2025-04-11], + ~D[2025-04-10], ~D[2025-04-09], ~D[2025-04-08], ~D[2025-04-07], ~D[2025-04-06], + ~D[2025-04-05], ~D[2025-04-04], ~D[2025-04-03], ~D[2025-04-02], ~D[2025-04-01], + ~D[2025-03-31], ~D[2025-03-30], ~D[2025-03-29], ~D[2025-03-28], ~D[2025-03-27] + ], + stars: [ + 528, 510, 490, 465, 435, + 410, 380, 350, 320, 290, + 260, 230, 200, 175, 150, + 130, 110, 90, 75, 60, + 48, 38, 30, 22, 15, + 10, 6, 3, 1, 0] +} +``` + +## Building the UI components + +Now let's build the visual parts of our app. + +First, we'll create a chart component to plot how stars increase over time: + +```elixir +defmodule StarsChart do + def new(data) do + VegaLite.new(width: 700, height: 450, title: "GitHub Stars history") + |> VegaLite.data_from_values(data, only: ["date", "stars"]) + |> VegaLite.mark(:line, tooltip: true) + |> VegaLite.encode_field(:x, "date", type: :temporal) + |> VegaLite.encode_field(:y, "stars", type: :quantitative) + end +end +``` + +Uncomment the code in the cell below and execute it to see the chart in action. You should see a line graph showing star growth over time: + +```elixir +# StarsChart.new(data) +``` + +Now, we'll build a loading spinner. This will give users visual feedback while they wait for data to load from GitHub. + +To build this component, we'll write some custom HTML and CSS, and use `Kino.HTML` to render it. + +```elixir +defmodule KinoSpinner do + def new(dimensions \\ "30px") do + Kino.HTML.new(""" +
+ + + """) + end +end +``` + +Uncomment the code in the cell below, and execute it to see our spinner working. + +```elixir +# KinoSpinner.new() +``` + +## Building the app UI + +Now we'll create the interactive form where users can enter a GitHub repository name. + +1. We'll use `Kino.Control.form` to build a form +2. We'll create a `Kino.Frame`, where we'll put the result of submitting the form +3. We'll create a simple grid layout with two rows: + * the form + * the output frame + +```elixir +# 1. A form for users to enter a GitHub repository name +form = + Kino.Control.form( + [ + repo_name: Kino.Input.text("GitHub repo", default: "livebook-dev/kino") + ], + submit: "Submit" + ) + +# 2. A Kino frame to display the results +output_frame = Kino.Frame.new() + +# 3. A grid layout containing the form and the output frame +layout_frame = Kino.Layout.grid([form, output_frame], boxed: true) +``` + +Now, we'll make our form interactive. + +1. We'll use `Kino.listen` to listen to form submission events +2. We'll display a spinner while we wait for the response from the API +3. Read data from the form submission +4. Fetch data from GitHub's API +5. Show the data in two tabs, as a chart and as a table +6. Handle errors, falling back to mock data when needed + +```elixir +# 1. Listen for form submissions +Kino.listen(form, fn form_submission -> + # 2. Show spinner + waiting_feedback = Kino.Layout.grid([Kino.Text.new("Getting data from GitHub..."), KinoSpinner.new()]) + Kino.Frame.render(output_frame, waiting_feedback) + + # 3. Read data from form submission + %{data: %{repo_name: repo_name}} = form_submission + + # 4. Fetch data from GitHub's API + case GitHubApi.stargazers(repo_name) do + {:ok, star_dates} -> + data = GithubDataProcessor.cumulative_star_dates(star_dates) + + # 5. Show the data in two tabs, as a chart and as a table + table = Kino.DataTable.new(data) + chart = StarsChart.new(data) + tabs = Kino.Layout.tabs(Chart: chart, Table: table) + Kino.Frame.render(output_frame, tabs) + + {:error, error_message} -> + # 6. Handle errors, falling back to mock data when needed + Kino.Frame.render(output_frame, "Error contacting GitHub API: #{error_message}") + Kino.Frame.append(output_frame, "We're going to use mock data for demo purposes") + + table = Kino.DataTable.new(mock_data) + chart = StarsChart.new(mock_data) + tabs = Kino.Layout.tabs(Chart: chart, Table: table) + Kino.Frame.append(output_frame, tabs) + end +end) +``` + +Execute the cell above. Now the form should be fully functioning. Go back to the form, and give it a try. + +## Running as a Livebook app + +Up until this moment, we've been interacting with our code as a notebook. But the goal of this tutorial is to actually build a Livebook app. So, let's run our notebook as a Livebook app. + +1. Click on the (app settings) icon on the sidebar +2. Click on the **"Launch preview"** button to run your notebook as an app +3. Click on the (open) icon inside the sidebar panel to open your app + +## What we've built + +In this tutorial, we've created a GitHub stars Livebook app that: + +* Connects to the GitHub API +* Processes time-series data +* Creates interactive visualizations diff --git a/static/images/github-stars.png b/static/images/github-stars.png new file mode 100644 index 0000000000000000000000000000000000000000..2ca83c4c6ba9e2a5282a835318883854b3dcedab GIT binary patch literal 75181 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 literal 0 HcmV?d00001