Skip to content

0.4.0

Compare
Choose a tag to compare
@jonathansick jonathansick released this 14 Jun 16:53
· 193 commits to main since this release
4a8d618

Times Square now supports sourcing Jupyter Notebooks from GitHub repositories, in addition to its original mode of API-sourced notebooks. To do this, Times Square acts as a GitHub App integration, and receives webhook events from GitHub. When the Times Square app is installed in a GitHub repository, or a push to the default branch is accomplished, Times Square syncs Jupyter Notebooks from that repository into its page store.

Times Square-enabled GitHub repositories feature a times-square.yaml file that provides settings for the repository as a whole (such as switching the repository on or off) and setting the root path for notebooks. Each notebook (ipynb file) also has a corresponding YAML sidecar file that provides metadata for individual notebooks, including the title, description, tags, authors, and the parameter schemas.

To efficiently process webhook events, Times Square now operates an arq (Redis-backed) distributed queue.

New API endpoints:

  • GET /github/webhook receives webhook events from GitHub (this should not require Gafaelfawr auth since webhooks are internally authenticated)
  • GET /v1/github provides a hierarchical tree of GitHub-backed pages within their GitHub organization, repository, and directory contexts. This endpoint powers Squareone's navigational view.
  • GET /v1/github/:path provides the same data as /v1/pages/:page, but uses the GitHub display path as the path argument. An example of a display is lsst-sqre/times-square-demo/matplotlib/gaussian2d.

The GET /v1/github and GET /v1/pages/:page endpoints both include a new github field with metadata specific to GitHub-backed pages.

What's Changed

  • DM-34458: Add GitHub app functionality to ingest notebooks from repositories by @jonathansick in #30
  • DM-34741: Refresh docker actions by @jonathansick in #31
  • DM-34823: Implement endpoints for Squareone navigation of GitHub-backed pages by @jonathansick in #32
  • DM-35057: Hide code cells through new HTML display settings by @jonathansick in #33
  • DM-35146: Improve /html error message by @jonathansick in #35
  • Bump python from 3.10.4-slim-bullseye to 3.10.5-slim-bullseye by @dependabot in #36
  • Bump actions/setup-python from 3 to 4 by @dependabot in #37
  • Bump pre-commit/action from 2.0.3 to 3.0.0 by @dependabot in #38
  • DM-34474: Update for safir 3.2 release of safir.arq by @jonathansick in #39

Full Changelog: 0.3.0...0.4.0