Skip to content

Port GPy tutorials and add execute CI - #24

Merged
lawrennd merged 9 commits into
mainfrom
cip0001-gpy-tutorials
Oct 24, 2026
Merged

lawrennd merged 9 commits into
mainfrom
cip0001-gpy-tutorials

Conversation

@lawrennd

@lawrennd lawrennd commented Oct 24, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Port the GPy tutorials in this repository to current Python (CIP-0001) and matplotlib instead of Chart Studio (CIP-0002), so they can gate a GPy 1.15 release.
  • Add an nbclient runner and a GitHub Actions execute job pinned to the GPy 1.15 candidate, with climin installed (CIP-0003). Do not run against current PyPI GPy (1.14.2) until 1.15.0 is published.
  • Strip tutorial outputs on commit, add Open in Colab badges, and load East Timor from datasets_mirror (CIP-0004).

Test plan

  • Local PYTHON=/opt/anaconda3/envs/py311/bin/python bash scripts/run_gpy_tutorials.sh — 19 passed, 0 skipped (GPy 1.14.2 editable install)
  • GitHub Actions execute job green against GPy 1.15 candidate (Release 1.15.0 (last declared Python 3.9/3.10) GPy#1235)
  • Open a tutorial Colab badge after merge (links point at main)
  • pre-commit install then edit a GPy/*.ipynb and confirm outputs are stripped

CIP-0001 is In Progress; CIP-0002 and CIP-0003 are Accepted with tasks for the Python 3 port, plotting switch, upstream Plotly issue, and CI runner.
Convert print/xrange, set kernelspec to python3, fix NumPy 2 scalars and matplotlib errorbar fmt, move config INI samples to markdown, and guard optional climin imports.
Tutorials no longer call change_plotting_library('plotly'); Chart Studio iplot and string marker sizes are tracked on SheffieldML/GPy#1243.
Fix matplotlib bar shapes, Python 2 stdlib (cPickle/urllib), ipywidgets, seaborn/parameter names, and skip the dead East Timor download so required notebooks run under nbclient.
Pin the job to the GPy 1.15.0 candidate (PR 1235), skip climin-only notebooks when that extra is missing, and show the workflow badge on the README.
Strip outputs on commit, open each tutorial from this repository in Colab, and finish the execute path (East Timor mirror, climin SVI shim, Actions with climin plus an informational latest-GPy job) so the set can gate GPy 1.15.
climin 0.1a1 still imports imp, which 3.12 removed. nbclient has no stdin, so the runner authorizes pods dataset downloads before each notebook.
int(K[k]) fails on ndarray values in the 1.15 CI environment.
The 1.14.2 Plotly matplotlib path cannot pass these tutorials, and
continue-on-error still shows as a failed GitHub check.
@lawrennd
lawrennd merged commit 6a5425b into main Oct 24, 2026
1 check passed
@lawrennd
lawrennd deleted the cip0001-gpy-tutorials branch October 24, 2026 17:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant