You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Opening this as a discussion before any implementation work. Want to gather input from maintainers on whether to migrate the docs site away from the current JupyterBook + ReadTheDocs setup to Great Docs (Posit) hosted on GitHub Pages.
Why migrate
1. Modern, opinionated Python docs framework
Great Docs (https://posit-dev.github.io/great-docs/) is purpose-built for Python packages. It uses Quarto under the hood and provides a single-command setup (great-docs init) plus auto-generated API reference. The look and feel matches what users now expect from libraries like Polars, Ibis, FastAPI: clean, searchable, dark mode, minimal navigation friction.
2. ReadTheDocs ads
ReadTheDocs displays ads on the free tier. For a CAS-affiliated project, ad-free hosting is preferable.
3. GitHub Pages benefits
No ads, free, deploys directly from a GitHub Action triggered on main.
Great Docs has a setup-github-pages command that scaffolds the workflow for you.
Build logs live in GitHub Actions alongside test/CI runs, making it easier to debug failures.
Simpler infrastructure surface area: one less external service to depend on.
4. AI-friendly outputs
Great Docs auto-generates llms.txt and llms-full.txt for AI assistant indexing, plus an "Agent Skills" output. Given how many users now interact with codebases through AI tools, this is increasingly valuable.
5. Subsumes existing requests
Issue #566 (multi-version documentation) is straightforward in Quarto/Great Docs. The source-link work in #710 (sphinx.ext.linkcode) would need a corresponding mechanism, which Quarto provides natively.
Migration cost is lower than it looks
A natural concern is that all the existing notebook content under docs/gallery/ and docs/getting_started/tutorials/ would need to be converted to Quarto's .qmd format. That isn't actually required: Quarto natively supports .ipynb files (see https://quarto.org/docs/tools/jupyter-lab.html). Existing notebooks can keep their .ipynb extension and be rendered directly by Quarto. New content can be authored in either format depending on author preference.
URL stability: ReadTheDocs URLs are deeply linked across the actuarial community. We should plan redirects.
Proposed next step
Maintainer feedback on whether this direction is acceptable in principle. If so, I can scope a multi-phase migration plan (small content port first to validate, then bulk migration, then DNS/redirect work).
Opening this as a discussion before any implementation work. Want to gather input from maintainers on whether to migrate the docs site away from the current JupyterBook + ReadTheDocs setup to Great Docs (Posit) hosted on GitHub Pages.
Why migrate
1. Modern, opinionated Python docs framework
Great Docs (https://posit-dev.github.io/great-docs/) is purpose-built for Python packages. It uses Quarto under the hood and provides a single-command setup (
great-docs init) plus auto-generated API reference. The look and feel matches what users now expect from libraries like Polars, Ibis, FastAPI: clean, searchable, dark mode, minimal navigation friction.2. ReadTheDocs ads
ReadTheDocs displays ads on the free tier. For a CAS-affiliated project, ad-free hosting is preferable.
3. GitHub Pages benefits
main.setup-github-pagescommand that scaffolds the workflow for you.4. AI-friendly outputs
Great Docs auto-generates
llms.txtandllms-full.txtfor AI assistant indexing, plus an "Agent Skills" output. Given how many users now interact with codebases through AI tools, this is increasingly valuable.5. Subsumes existing requests
Issue #566 (multi-version documentation) is straightforward in Quarto/Great Docs. The source-link work in #710 (sphinx.ext.linkcode) would need a corresponding mechanism, which Quarto provides natively.
Migration cost is lower than it looks
A natural concern is that all the existing notebook content under
docs/gallery/anddocs/getting_started/tutorials/would need to be converted to Quarto's.qmdformat. That isn't actually required: Quarto natively supports.ipynbfiles (see https://quarto.org/docs/tools/jupyter-lab.html). Existing notebooks can keep their.ipynbextension and be rendered directly by Quarto. New content can be authored in either format depending on author preference.Open questions
ext_linkcodeextension added in Add links to object source code in API Reference sectionย #710 is Sphinx-specific. We would need a Quarto equivalent or accept losing the linkcode_resolve customization.Proposed next step
Maintainer feedback on whether this direction is acceptable in principle. If so, I can scope a multi-phase migration plan (small content port first to validate, then bulk migration, then DNS/redirect work).