From a98541211a0fb37a806db16867923242fd91a3c2 Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Tue, 16 Jun 2026 08:22:01 -0400 Subject: [PATCH] Add StochasticDiffEq docs to lib/StochasticDiffEq/docs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When StochasticDiffEq moved into this monorepo for v7, its `docs/` were left behind in the now-frozen standalone SciML/StochasticDiffEq.jl repo (last tagged v6.100.0). As a result `lib/StochasticDiffEq` ships no `docs/`, so DiffEqDocs.jl — which aggregates each solver package's `docs/src` + `pages.jl` via `pathof(StochasticDiffEq)/../docs` — can no longer find them, and the "StochasticDiffEq.jl API" section silently dropped out of the unified docs. This migrates those docs (src/ + pages.jl) into `lib/StochasticDiffEq/docs`, plus a make.jl/Project.toml mirroring the root docs setup so they build standalone. Once a StochasticDiffEq release ships this `docs/` in its registered tarball, DiffEqDocs picks the API reference back up with no `Pkg.develop` needed. The docstrings are now spread across the StochasticDiffEq* subpackages (v7 split), so make.jl lists them in `modules`; StochasticDiffEq @reexports them. Verified locally (StochasticDiffEq 7.0.0 + subpackages, Documenter): all 71 `@docs`-referenced solvers (EM, SRIW1, SOSRI, ImplicitEM, …) resolve with docstrings, and `makedocs` builds every page (index, usage, nonstiff/*, stiff/*, jumpdiffusion, misc) with no docs-block errors. Co-Authored-By: Chris Rackauckas Co-Authored-By: Claude Opus 4.8 (1M context) --- lib/StochasticDiffEq/docs/Project.toml | 40 +++ lib/StochasticDiffEq/docs/make.jl | 35 +++ lib/StochasticDiffEq/docs/pages.jl | 21 ++ .../docs/src/assets/Project.toml | 6 + .../docs/src/assets/favicon.ico | Bin 0 -> 1394 bytes lib/StochasticDiffEq/docs/src/index.md | 81 ++++++ .../docs/src/jumpdiffusion/tau_leaping.md | 141 +++++++++++ lib/StochasticDiffEq/docs/src/misc.md | 105 ++++++++ .../docs/src/nonstiff/basic_methods.md | 79 ++++++ .../docs/src/nonstiff/commutative_noise.md | 125 +++++++++ .../docs/src/nonstiff/high_weak_order.md | 149 +++++++++++ .../docs/src/nonstiff/sra_sri_methods.md | 128 ++++++++++ .../docs/src/stiff/implicit_methods.md | 108 ++++++++ .../docs/src/stiff/split_step_methods.md | 87 +++++++ .../docs/src/stiff/stabilized_methods.md | 138 ++++++++++ lib/StochasticDiffEq/docs/src/usage.md | 239 ++++++++++++++++++ 16 files changed, 1482 insertions(+) create mode 100644 lib/StochasticDiffEq/docs/Project.toml create mode 100644 lib/StochasticDiffEq/docs/make.jl create mode 100644 lib/StochasticDiffEq/docs/pages.jl create mode 100644 lib/StochasticDiffEq/docs/src/assets/Project.toml create mode 100644 lib/StochasticDiffEq/docs/src/assets/favicon.ico create mode 100644 lib/StochasticDiffEq/docs/src/index.md create mode 100644 lib/StochasticDiffEq/docs/src/jumpdiffusion/tau_leaping.md create mode 100644 lib/StochasticDiffEq/docs/src/misc.md create mode 100644 lib/StochasticDiffEq/docs/src/nonstiff/basic_methods.md create mode 100644 lib/StochasticDiffEq/docs/src/nonstiff/commutative_noise.md create mode 100644 lib/StochasticDiffEq/docs/src/nonstiff/high_weak_order.md create mode 100644 lib/StochasticDiffEq/docs/src/nonstiff/sra_sri_methods.md create mode 100644 lib/StochasticDiffEq/docs/src/stiff/implicit_methods.md create mode 100644 lib/StochasticDiffEq/docs/src/stiff/split_step_methods.md create mode 100644 lib/StochasticDiffEq/docs/src/stiff/stabilized_methods.md create mode 100644 lib/StochasticDiffEq/docs/src/usage.md diff --git a/lib/StochasticDiffEq/docs/Project.toml b/lib/StochasticDiffEq/docs/Project.toml new file mode 100644 index 00000000000..c96d1905710 --- /dev/null +++ b/lib/StochasticDiffEq/docs/Project.toml @@ -0,0 +1,40 @@ +[deps] +Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" +StochasticDiffEq = "789caeaf-c7a9-5a7d-9973-96adeb23e2a0" +StochasticDiffEqCore = "19c5a474-6cd1-4a5f-be79-46dc34e54d7f" +StochasticDiffEqHighOrder = "0520c28c-50fd-4d16-9c96-902fc80b3bab" +StochasticDiffEqIIF = "ebf54054-c36b-4494-9aba-657e36df524f" +StochasticDiffEqImplicit = "5080b986-4c76-4669-b5dc-373a41579d5b" +StochasticDiffEqLeaping = "aefaaa88-39f2-4e89-b162-d61b7e8cc81b" +StochasticDiffEqLowOrder = "d15fe365-ce7f-450a-828a-7985bd5b681b" +StochasticDiffEqMilstein = "8c95a807-c8e7-4581-8419-890d001af53e" +StochasticDiffEqROCK = "db241ea8-0e6b-4abc-8f2d-1adff2294fd9" +StochasticDiffEqRODE = "49714585-0aa1-4f53-b1e6-a9b8c0d5e03f" +StochasticDiffEqWeak = "af2a2fcd-1c36-4cbe-a6d0-5afda784a085" + +[sources] +StochasticDiffEq = {path = ".."} +StochasticDiffEqCore = {path = "../../StochasticDiffEqCore"} +StochasticDiffEqHighOrder = {path = "../../StochasticDiffEqHighOrder"} +StochasticDiffEqIIF = {path = "../../StochasticDiffEqIIF"} +StochasticDiffEqImplicit = {path = "../../StochasticDiffEqImplicit"} +StochasticDiffEqLeaping = {path = "../../StochasticDiffEqLeaping"} +StochasticDiffEqLowOrder = {path = "../../StochasticDiffEqLowOrder"} +StochasticDiffEqMilstein = {path = "../../StochasticDiffEqMilstein"} +StochasticDiffEqROCK = {path = "../../StochasticDiffEqROCK"} +StochasticDiffEqRODE = {path = "../../StochasticDiffEqRODE"} +StochasticDiffEqWeak = {path = "../../StochasticDiffEqWeak"} + +[compat] +Documenter = "1" +StochasticDiffEq = "7" +StochasticDiffEqCore = "2" +StochasticDiffEqHighOrder = "2" +StochasticDiffEqIIF = "2" +StochasticDiffEqImplicit = "2" +StochasticDiffEqLeaping = "2" +StochasticDiffEqLowOrder = "2" +StochasticDiffEqMilstein = "2" +StochasticDiffEqROCK = "2" +StochasticDiffEqRODE = "2" +StochasticDiffEqWeak = "2" diff --git a/lib/StochasticDiffEq/docs/make.jl b/lib/StochasticDiffEq/docs/make.jl new file mode 100644 index 00000000000..41d0d1927d2 --- /dev/null +++ b/lib/StochasticDiffEq/docs/make.jl @@ -0,0 +1,35 @@ +using Documenter +using StochasticDiffEq +# StochasticDiffEq @reexports its solver subpackages, but the docstrings the @docs +# blocks reference live in those subpackages, so they must be in `modules` for +# Documenter to find them. +using StochasticDiffEqCore, StochasticDiffEqHighOrder, StochasticDiffEqIIF, + StochasticDiffEqImplicit, StochasticDiffEqLeaping, StochasticDiffEqLowOrder, + StochasticDiffEqMilstein, StochasticDiffEqROCK, StochasticDiffEqRODE, + StochasticDiffEqWeak + +cp(joinpath(@__DIR__, "Project.toml"), joinpath(@__DIR__, "src", "assets", "Project.toml"), + force = true) + +# Keep pages.jl separate so DiffEqDocs.jl can include it when aggregating these docs. +include("pages.jl") + +makedocs( + sitename = "StochasticDiffEq.jl", + authors = "Chris Rackauckas et al.", + clean = true, + doctest = false, + modules = [StochasticDiffEq, StochasticDiffEqCore, StochasticDiffEqHighOrder, + StochasticDiffEqIIF, StochasticDiffEqImplicit, StochasticDiffEqLeaping, + StochasticDiffEqLowOrder, StochasticDiffEqMilstein, StochasticDiffEqROCK, + StochasticDiffEqRODE, StochasticDiffEqWeak], + warnonly = [:docs_block, :missing_docs, :eval_block], + format = Documenter.HTML( + assets = ["assets/favicon.ico"], + canonical = "https://docs.sciml.ai/StochasticDiffEq/stable/" + ), + pages = pages +) + +# Note: these pages are aggregated into the unified SciML docs by DiffEqDocs.jl +# (which copies docs/src + docs/pages.jl); deployment happens there. diff --git a/lib/StochasticDiffEq/docs/pages.jl b/lib/StochasticDiffEq/docs/pages.jl new file mode 100644 index 00000000000..26381b06754 --- /dev/null +++ b/lib/StochasticDiffEq/docs/pages.jl @@ -0,0 +1,21 @@ +pages = [ + "StochasticDiffEq.jl: SDE solvers and utilities" => "index.md", + "Usage" => "usage.md", + "Nonstiff Solvers" => [ + "nonstiff/basic_methods.md", + "nonstiff/sra_sri_methods.md", + "nonstiff/high_weak_order.md", + "nonstiff/commutative_noise.md", + ], + "Stiff Solvers" => [ + "stiff/implicit_methods.md", + "stiff/split_step_methods.md", + "stiff/stabilized_methods.md", + ], + "Jump Diffusion" => [ + "jumpdiffusion/tau_leaping.md", + ], + "Misc Solvers" => [ + "misc.md", + ], +] diff --git a/lib/StochasticDiffEq/docs/src/assets/Project.toml b/lib/StochasticDiffEq/docs/src/assets/Project.toml new file mode 100644 index 00000000000..da1e5c14ff3 --- /dev/null +++ b/lib/StochasticDiffEq/docs/src/assets/Project.toml @@ -0,0 +1,6 @@ +[deps] +Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" +StochasticDiffEq = "789caeaf-c7a9-5a7d-9973-96adeb23e2a0" + +[compat] +Documenter = "0.27, 1" \ No newline at end of file diff --git a/lib/StochasticDiffEq/docs/src/assets/favicon.ico b/lib/StochasticDiffEq/docs/src/assets/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3c6bd470373d2cccea2154d70907b0e02ab202c8 GIT binary patch literal 1394 zcmV-&1&#WNP))4@f zESiZxsDh$SK?orzI4h7)!K_)tSt22l`~sH^AU4hd#4^dEVwrY<#7l}16euf4MM5oA zGelH`G_7yy*q(SiW6qh(1ShdOcHJW#kLRKLefQk&oO>=u2C%E=UZQZxflq;Jo}-n( z%iv2d{`gCIkTJOdz!7)>97z~|jM=0q5(D35D!i7ia-C%6`X$2k368*daJKw>ll^?E zO-B?;1x|3^?^reB)au6T*CcZ8x=1~eNMe3y0suY>mtsBCHaJ0jD-0r8u3Dx-b+raANS7iZ{06M)(0d0EyR%Ub;A zS!;YWoa$TINCG0IWAq-H0L;Dsj(;(fT2zV*l3fG|k0{AJL}7Md0+@1QG^*M4Is+kL zTCqmUB!gNea-4)kr3fUlgGOLVh^VA(+a>S*!<*Y{Z0-KKtMtQur*YR!Ma+aw!!(_U zkK=W@mmb6}v)6b<$#J|J{#E?B^4=;Il_U(JZ#VCE8_2JUXF@_K3(G}O2e@o*cEmCi z$S=eD$v^^FYNbSiIJ>4_)%MLJ5@;CmduC+{$mEZ!kGY}*O=RKu1sLN(&=O1`fnf|l zO5oE?yE(C5{d*pk4+x}D4+S8R>q!8@uZyvm&I#~%Zwa&^i5TE>ppVJxm75HU80cXE zNNBwxus?f2k%uPG84C}`)ua4U|52hZQD-IkL1xb>8H8yLoY~t zA(B*jeq*;B=%^bwAp;4NtMWxN zZ%I!uXh4FZ5R?&^awxu@A3z--*HgdwW&Q`wV_uP4jGVrEk;cczh`SkeF)U0ke7C~& zn0XNtpT}J9Wv!-7HaG9E%g@c@5-=#w6F$=1u1M)$(N{@*eVsrfI!L)CufrAMQI`%$FO@90ysb)o z46b>vu%qB=6_adP|FV_SOJql>xThwV{rr)Wkxv5E37eBa>o=HcZThWQ2^&;YIo1Ub zSsqf2VvX+<90EG1@<#)l8+t_EMzw~*qTVq> zW?K#dF)uPM==&FQ