Skip to content

Releases: lsst-sqre/times-square

0.5.0

04 Jul 21:19
4aa3be5
Compare
Choose a tag to compare

Times Square now implements two GitHub check runs for pull requests on notebook repositories:

  • The "YAML config" check validates the structure of YAML configuration files, specifically the times-square.yaml repository settings as well as the YAML sidecar files that describe each notebook.
  • The "Notebook execution" check actually runs notebooks (given their default parameters) with Noteburst, and ensures that they return without error.

Together, these features will help contributors to Times Square notebook repositories ensure that their contributions work before they merge pull requests.

What's Changed

  • DM-35149: Integrate GitHub Checks API for validating YAML configs in repositories by @jonathansick in #40
  • DM-35150: Implement GitHub Checks for notebook execution by @jonathansick in #41

Full Changelog: 0.4.0...0.5.0

0.5.0b1

23 Jun 22:29
6710d6a
Compare
Choose a tag to compare
0.5.0b1 Pre-release
Pre-release

This pre-release provides initial integration with the GitHub Checks API to validate YAML configuration files in notebook repositories.

What's Changed

  • DM-35149: Integrate GitHub Checks API for validating YAML configs in repositories by @jonathansick in #40

Full Changelog: 0.4.0...0.5.0b1

0.4.0

14 Jun 16:53
4a8d618
Compare
Choose a tag to compare

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

0.4.0b2

20 May 22:43
77396ca
Compare
Choose a tag to compare
0.4.0b2 Pre-release
Pre-release

What's Changed

  • DM-34741: Refresh docker actions by @jonathansick in #31
  • DM-34823: Implement endpoints for Squareone navigation of GitHub-backed pages by @jonathansick in #32

Full Changelog: 0.4.0b1...0.4.0b2

0.4.0b1

06 May 20:01
1b1000c
Compare
Choose a tag to compare
0.4.0b1 Pre-release
Pre-release

What's Changed

  • DM-34458: Add GitHub app functionality to ingest notebooks from repositories by @jonathansick in #30

Full Changelog: 0.3.0...0.4.0b1

0.3.0

31 Mar 21:16
3d796f9
Compare
Choose a tag to compare

This release adds a new /v1/pages/:page/htmlstatus endpoint that provides information about the availability of HTML for a specific page instance (set of page parameters). The Times Square UI monitors this endpoint to determine if an HTML rendering is available and when to refresh the iframe element displaying the HTML rendering.

In addition, the htmlstatus endpoint includes a SHA256 hash of the HTML, which is now stored alongside the HTML in the Redis cache. This hash can be used to invalidate expired HTML renderings for pages with a finite time-to-live setting.

As well, this release adds a new times-square reset-html command to the command line interface for clearing the Redis cache of HTML renderings (primarily useful during development).

Change log

Features

Dependency updates

  • [neophile] Update dependencies by @sqrbot in #25
  • Bump python from 3.10.2-slim-bullseye to 3.10.3-slim-bullseye by @dependabot in #27
  • Bump actions/cache from 2 to 3 by @dependabot in #26
  • Bump python from 3.10.3-slim-bullseye to 3.10.4-slim-bullseye by @dependabot in #29

Full Changelog: 0.2.0...0.3.0

0.2.0

15 Mar 17:55
94abafb
Compare
Choose a tag to compare

This release adds integration with noteburst for notebook execution on the Rubin Science Platform, as well as persistance data storage in Redis and SQL. This release also establishes the v1 REST API.

What's Changed

New Contributors

Full Changelog: 0.1.0...0.2.0

0.1.0

17 Nov 19:33
17e065a
Compare
Choose a tag to compare

Initial application set up.