WIP: Add documentation site with Material for MkDocs#204
WIP: Add documentation site with Material for MkDocs#204
Conversation
Set up full documentation infrastructure with auto-generated API reference from docstrings, narrative guides, and GitHub Pages deployment via CI. - Add mkdocs-material and mkdocstrings[python] as docs dependencies - Create mkdocs.yml with Material theme, left sidebar nav, Mermaid, MathJax - Add narrative pages: home, getting started, architecture, notable differences - Add API reference stubs for all public modules targeting specific classes - Add GitHub Actions workflow for build on PR / deploy on push to main Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove duplicated explanations, tighten prose, and condense sections that repeated information already covered on other pages. Net reduction of ~80 lines with no content loss -- cross-links replace duplication. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove the architecture/ pages (pytree, implements, gsobject, drawing) and key-concepts page. Consolidate their most useful content into notable-differences.md, which now thoroughly covers immutability, array views, RNG, PyTree registration, control flow/tracing, profile restrictions, numerical precision, and the @implements decorator. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Merging this PR will degrade performance by 35.68%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | WallTime | test_benchmark_spergel_xvalue[run] |
1.6 s | 2.3 s | -31.09% |
| ⚡ | WallTime | test_benchmarks_lanczos_interp[xval-conserve_dc-run] |
124.7 µs | 82.1 µs | +51.82% |
| ⚡ | WallTime | test_benchmark_moffat_init[run] |
95.5 µs | 66.5 µs | +43.68% |
| ⚡ | WallTime | test_benchmarks_lanczos_interp[kval-no_conserve_dc-run] |
56 µs | 41.5 µs | +34.86% |
| ⚡ | WallTime | test_benchmarks_lanczos_interp[xval-no_conserve_dc-run] |
113.1 µs | 74.1 µs | +52.65% |
| ❌ | WallTime | test_benchmark_moffat_conv[run] |
187.9 ms | 282.4 ms | -33.48% |
| ❌ | WallTime | test_benchmark_spergel_conv[run] |
159.3 ms | 247.6 ms | -35.68% |
Comparing documentation (3660b3f) with main (ef2c37a)
ismael-mendoza
left a comment
There was a problem hiding this comment.
I flagged a couple of cases in the examples provided that don't actually work. @EiffL could you modify as needed?
| These differences are typically at the level of floating-point round-off | ||
| ($\sim 10^{-7}$ for float32, $\sim 10^{-15}$ for float64) and should not | ||
| affect scientific conclusions. |
There was a problem hiding this comment.
Is this really true in all cases? For example, the difference between 32-bit floats and 64-bits float can be an issue for very precise shear measurements no?
|
I think this is basically good to go. The last thing is that there is an issue with the API reference as none of the original GalSim or lax description docstrings are showing up at all. Maybe there is an issue with the implements decorator? (other docstrings do show up) |
Summary
What's included
jit/grad/vmapexamples@implementsdecorator.github/workflows/docs.yml):mkdocs build --stricton PRs,mkdocs gh-deployon push to mainKnown limitations
@implementsdecorator copies GalSim's docstrings at runtime, but mkdocstrings doesn't always pick them up cleanly. RST cross-references (:func:,:class:) from GalSim's docstrings render as literal text rather than links.🤖 Generated with Claude Code