Skip to content

Commit 4d1f572

Browse files
committed
Merge branch 'master' into pdmps
2 parents 518e54f + 127c49c commit 4d1f572

File tree

85 files changed

+8689
-5053
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+8689
-5053
lines changed

.github/workflows/DocsCleanup.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Doc Preview Cleanup
2+
3+
on:
4+
pull_request:
5+
types: [closed]
6+
7+
# Ensure that only one "Doc Preview Cleanup" workflow is force pushing at a time
8+
concurrency:
9+
group: doc-preview-cleanup
10+
cancel-in-progress: false
11+
12+
jobs:
13+
doc-preview-cleanup:
14+
runs-on: ubuntu-latest
15+
permissions:
16+
contents: write
17+
steps:
18+
- name: Checkout gh-pages branch
19+
uses: actions/checkout@v4
20+
with:
21+
ref: gh-pages
22+
- name: Delete preview and history + push changes
23+
run: |
24+
if [ -d "${preview_dir}" ]; then
25+
git config user.name "Documenter.jl"
26+
git config user.email "[email protected]"
27+
git rm -rf "${preview_dir}"
28+
git commit -m "delete preview"
29+
git branch gh-pages-new $(echo "delete history" | git commit-tree HEAD^{tree})
30+
git push --force origin gh-pages-new:gh-pages
31+
fi
32+
env:
33+
preview_dir: previews/PR${{ github.event.number }}

.github/workflows/Documentation.yml

Lines changed: 31 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ permissions:
1212
contents: read
1313

1414
concurrency:
15-
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
16-
cancel-in-progress: true
15+
group: docs-${{ github.ref }} # Group name for concurrency control
16+
cancel-in-progress: true # Ensures only one doc build runs at a time for each branch/ref, regardless of the trigger
1717

1818
jobs:
1919
build:
@@ -22,11 +22,21 @@ jobs:
2222
- name: Checkout
2323
uses: actions/checkout@v4
2424

25-
# Install binary dependencies needed for GLMakie to run in a headless environment
26-
# xvfb: Creates a virtual frame buffer to simulate a display
27-
# libgl1, mesa-utils, freeglut3-dev, xorg-dev, libxrandr-dev, libxinerama-dev, libxcursor-dev, libxi-dev, libxext-dev: Required libraries for OpenGL rendering
28-
- name: Install binary dependencies
29-
run: sudo apt-get update && sudo apt-get install -y xvfb libgl1 mesa-utils freeglut3-dev xorg-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libxext-dev
25+
# # Install all required X11 and OpenGL libraries
26+
# # These are needed for GLMakie to work in a headless environment
27+
# - name: Install binary dependencies
28+
# run: |
29+
# sudo apt-get update
30+
# sudo apt-get install -y xvfb libgl1 mesa-utils freeglut3-dev xorg-dev \
31+
# libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libxext-dev
32+
33+
# # Start Xvfb explicitly instead of using xvfb-run
34+
# # This gives us more control and visibility into the virtual display setup
35+
# - name: Setup virtual framebuffer
36+
# run: |
37+
# # Start Xvfb and wait for it to be ready
38+
# /usr/bin/Xvfb :99 -screen 0 1024x768x24
39+
# echo "DISPLAY=:99" >> $GITHUB_ENV
3040

3141
- name: Install Julia
3242
uses: julia-actions/setup-julia@latest
@@ -38,22 +48,22 @@ jobs:
3848
with:
3949
cache-name: docs-cache
4050

41-
# Install Julia package dependencies for the documentation project
51+
# Install dependencies with the virtual display already running
4252
- name: Install dependencies
43-
run: >
44-
DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --project=docs/ -e 'ENV["JULIA_PKG_SERVER"] = ""; using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
53+
run: |
54+
julia --project=docs/ -e '
55+
ENV["JULIA_PKG_SERVER"] = "";
56+
using Pkg;
57+
Pkg.develop(PackageSpec(path=pwd()));
58+
Pkg.instantiate()'
4559
46-
# Build and deploy the documentation using xvfb to simulate a display for GLMakie
47-
# xvfb-run: Runs Julia with a virtual display to support OpenGL rendering
48-
# --server-args: Configures the virtual display resolution and color depth
60+
# Build documentation with the stable virtual display
4961
- name: Build and deploy
5062
env:
51-
GKSwstype: "100" # Specifies the workstation type for GR framework rendering, https://discourse.julialang.org/t/generation-of-documentation-fails-qt-qpa-xcb-could-not-connect-to-display/60988/7
52-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Required for permissions to deploy documentation
53-
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # For authentication with SSH deploy key
54-
run: >
55-
DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24'
56-
julia --project=docs --color=yes --code-coverage=user docs/make.jl
63+
GKSwstype: "100"
64+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
65+
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
66+
run: xvfb-run julia --project=docs --color=yes --code-coverage=user docs/make.jl
5767

5868
- name: Upload site as artifact
5969
uses: actions/upload-artifact@v4
@@ -66,9 +76,8 @@ jobs:
6676

6777
- uses: julia-actions/julia-processcoverage@v1
6878

69-
- uses: codecov/codecov-action@v4
79+
- uses: codecov/codecov-action@v5
7080
with:
71-
file: lcov.info
81+
files: lcov.info
7282
token: ${{ secrets.CODECOV_TOKEN }}
7383
fail_ci_if_error: false
74-

HISTORY.md

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,29 @@
77
(at the time the release is made). If you need a dependency version increased,
88
please open an issue and we can update it and make a new Catalyst release once
99
testing against the newer dependency version is complete.
10+
- New formula for inferring variables from equations (declared using the `@equations` options) in the DSL. The order of inference of species/variables/parameters is now:
11+
(1) Every symbol explicitly declared using `@species`, `@variables`, and `@parameters` are assigned to the correct category.
12+
(2) Every symbol used as a reaction reactant is inferred as a species.
13+
(3) Every symbol not declared in (1) or (2) that occurs in an expression provided after `@equations` is inferred as a variable.
14+
(4) Every symbol not declared in (1), (2), or (3) that occurs either as a reaction rate or stoichiometric coefficient is inferred to be a parameter.
15+
E.g. in
16+
```julia
17+
@reaction_network begin
18+
@equations V1 + S ~ V2^2
19+
(p + S + V1), S --> 0
20+
end
21+
```
22+
`S` is inferred as a species, `V1` and `V2` as variables, and `p` as a parameter. The previous special cases for the `@observables`, `@compounds`, and `@differentials` options still hold. Finally, the `@require_declaration` options (described in more detail below) can now be used to require everything to be explicitly declared.
23+
- New formula for determining whether the default differentials have been used within an `@equations` option. Now, if any expression `D(...)` is encountered (where `...` can be anything), this is inferred as usage of the default differential D. E.g. in the following equations `D` is inferred as a differential with respect to the default independent variable:
24+
```julia
25+
@reaction_network begin
26+
@equations D(V) + V ~ 1
27+
end
28+
@reaction_network begin
29+
@equations D(D(V)) ~ 1
30+
end
31+
```
32+
Please note that this cannot be used at the same time as `D` is used to represent a species, variable, or parameter (including is these are implicitly designated as such by e.g. appearing as a reaction reactant).
1033
- Array symbolics support is more consistent with ModelingToolkit v9. Parameter
1134
arrays are no longer scalarized by Catalyst, while species and variables
1235
arrays still are (as in ModelingToolkit). As such, parameter arrays should now
@@ -25,7 +48,34 @@
2548
StructuralIdentifiability has with Julia 1.10.5 and 1.11.
2649
- A tutorial on making interactive plot displays using Makie has been added.
2750
- The BifurcationKit extension has been updated to v.4.
28-
51+
- There is a new DSL option `@require_declaration` that will turn off automatic inferring for species, parameters, and variables in the DSL. For example, the following will now error:
52+
```julia
53+
rn = @reaction_network begin
54+
@require_declaration
55+
(k1, k2), A <--> B
56+
end
57+
```
58+
When this flag is set, all symbolics must be explicitly declared.
59+
```julia
60+
rn = @reaction_network begin
61+
@species A(t) B(t)
62+
@parameters k1 k2
63+
@require_declaration
64+
(k1, k2), A <--> B
65+
end
66+
```
67+
- Catalyst's network visualization capability has shifted from using Graphviz to [GraphMakie.jl](https://graph.makie.org/stable/). To use this functionality, load the GraphMakie extension by installing `Catalyst` and `GraphMakie`, along with a Makie backend like `GLMakie`. There are two new methods for visualizing graphs: `plot_network` and `plot_complexes`, which respectively display the species-reaction graph and complex graph.
68+
```julia
69+
using Catalyst, GraphMakie, GLMakie
70+
brusselator = @reaction_network begin
71+
A, ∅ --> X
72+
1, 2X + Y --> 3X
73+
B, X --> Y
74+
1, X -->
75+
end
76+
plot_network(brusselator)
77+
```
78+
2979
## Catalyst 14.4.1
3080
- Support for user-defined functions on the RHS when providing coupled equations
3181
for CRNs using the @equations macro. For example, the following now works:

Project.toml

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -33,53 +33,54 @@ BifurcationKit = "0f109fa4-8a5d-4b75-95aa-f515264e7665"
3333
CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0"
3434
GraphMakie = "1ecd5474-83a3-4783-bb4f-06765db800d2"
3535
HomotopyContinuation = "f213a82b-91d6-5c5d-acf7-10f1c761b327"
36-
# StructuralIdentifiability = "220ca800-aa68-49bb-acd8-6037fa93a544"
36+
NetworkLayout = "46757867-2c16-5918-afeb-47bfcb05e46a"
3737

3838
[extensions]
3939
CatalystBifurcationKitExtension = "BifurcationKit"
4040
CatalystCairoMakieExtension = "CairoMakie"
41-
CatalystGraphMakieExtension = "GraphMakie"
41+
CatalystGraphMakieExtension = ["GraphMakie", "NetworkLayout"]
4242
CatalystHomotopyContinuationExtension = "HomotopyContinuation"
43-
# CatalystStructuralIdentifiabilityExtension = "StructuralIdentifiability"
4443

4544
[compat]
4645
BifurcationKit = "0.4.4"
47-
CairoMakie = "0.12"
46+
CairoMakie = "0.12, 0.13"
4847
Combinatorics = "1.0.2"
4948
DataStructures = "0.18"
50-
DiffEqBase = "< 6.159.0"
51-
DocStringExtensions = "0.9"
52-
DynamicPolynomials = "0.6"
53-
DynamicQuantities = "1"
54-
EnumX = "1.0.4"
49+
DiffEqBase = "6.159.0"
50+
DocStringExtensions = "0.8, 0.9"
51+
DynamicPolynomials = "0.5, 0.6"
52+
DynamicQuantities = "0.13.2, 1"
5553
GraphMakie = "0.5"
5654
Graphs = "1.4"
5755
HomotopyContinuation = "2.9"
5856
JumpProcesses = "9.13.2"
5957
LaTeXStrings = "1.3.0"
6058
Latexify = "0.16.5"
6159
MacroTools = "0.5.5"
62-
ModelingToolkit = "9.32"
60+
ModelingToolkit = "< 9.60"
61+
NetworkLayout = "0.4.7"
6362
Parameters = "0.12"
6463
Reexport = "1.0"
6564
Requires = "1.0"
6665
RuntimeGeneratedFunctions = "0.5.12"
67-
SciMLBase = "< 2.57.2"
66+
SciMLBase = "2.57.2"
6867
Setfield = "1"
69-
# StructuralIdentifiability = "0.5.8"
70-
SymbolicUtils = "3.3.0"
71-
Symbolics = "6"
68+
SymbolicUtils = "3.8.1"
69+
Symbolics = "6.22"
7270
Unitful = "1.12.4"
7371
julia = "1.10"
7472

7573
[extras]
7674
DiffEqCallbacks = "459566f4-90b8-5000-8ac3-15dfb0a30def"
7775
DomainSets = "5b8099bc-c8ec-5219-889f-1d9e522a28bf"
78-
Graphviz_jll = "3c863552-8265-54e4-a6dc-903eb78fde85"
7976
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
8077
Logging = "56ddb016-857b-54e1-b83d-db4d58db5568"
8178
NonlinearSolve = "8913a72c-1f9b-4ce2-8d82-65094dcecaec"
82-
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
79+
OrdinaryDiffEqBDF = "6ad6398a-0878-4a85-9266-38940aa047c8"
80+
OrdinaryDiffEqDefault = "50262376-6c5a-4cf5-baba-aaf4f84d72d7"
81+
OrdinaryDiffEqRosenbrock = "43230ef6-c299-4910-a778-202eb28ce4ce"
82+
OrdinaryDiffEqTsit5 = "b1df2697-797e-41e3-8120-5422d3b24e4a"
83+
OrdinaryDiffEqVerner = "79d7bb75-1356-48c1-b8c0-6832512096c2"
8384
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
8485
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
8586
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
@@ -95,4 +96,4 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
9596
Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
9697

9798
[targets]
98-
test = ["DiffEqCallbacks", "DomainSets", "Graphviz_jll", "Logging", "NonlinearSolve", "OrdinaryDiffEq", "Pkg", "Plots", "Random", "SafeTestsets", "SciMLBase", "SciMLNLSolve", "StableRNGs", "StaticArrays", "Statistics", "SteadyStateDiffEq", "StochasticDiffEq", "Test", "Unitful"]
99+
test = ["DiffEqCallbacks", "DomainSets", "Logging", "NonlinearSolve", "OrdinaryDiffEqBDF", "OrdinaryDiffEqDefault", "OrdinaryDiffEqRosenbrock", "OrdinaryDiffEqTsit5", "OrdinaryDiffEqVerner", "Pkg", "Plots", "Random", "SafeTestsets", "SciMLBase", "SciMLNLSolve", "StableRNGs", "StaticArrays", "Statistics", "SteadyStateDiffEq", "StochasticDiffEq", "Test", "Unitful"]

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,10 @@ be found in its corresponding research paper, [Catalyst: Fast and flexible model
7272
- Model steady states can be [computed through homotopy continuation](https://docs.sciml.ai/Catalyst/stable/steady_state_functionality/homotopy_continuation/) using [HomotopyContinuation.jl](https://github.com/JuliaHomotopyContinuation/HomotopyContinuation.jl) (which can find *all* steady states of systems with multiple ones), by [forward ODE simulations](https://docs.sciml.ai/Catalyst/stable/steady_state_functionality/nonlinear_solve/#steady_state_solving_simulation) using [SteadyStateDiffEq.jl](https://github.com/SciML/SteadyStateDiffEq.jl), or by [numerically solving steady-state nonlinear equations](https://docs.sciml.ai/Catalyst/stable/steady_state_functionality/nonlinear_solve/#steady_state_solving_nonlinear) using [NonlinearSolve.jl](https://github.com/SciML/NonlinearSolve.jl).
7373
- [BifurcationKit.jl](https://github.com/bifurcationkit/BifurcationKit.jl) can be used to [compute bifurcation diagrams](https://docs.sciml.ai/Catalyst/stable/steady_state_functionality/bifurcation_diagrams/) of model steady states (including finding periodic orbits).
7474
- [DynamicalSystems.jl](https://github.com/JuliaDynamics/DynamicalSystems.jl) can be used to compute model [basins of attraction](https://docs.sciml.ai/Catalyst/stable/steady_state_functionality/dynamical_systems/#dynamical_systems_basins_of_attraction), [Lyapunov spectrums](https://docs.sciml.ai/Catalyst/stable/steady_state_functionality/dynamical_systems/#dynamical_systems_lyapunov_exponents), and other dynamical system properties.
75-
- [StructuralIdentifiability.jl](https://github.com/SciML/StructuralIdentifiability.jl) can be used to [perform structural identifiability analysis](https://docs.sciml.ai/Catalyst/stable/inverse_problems/structural_identifiability/).
7675
- [Optimization.jl](https://github.com/SciML/Optimization.jl), [DiffEqParamEstim.jl](https://github.com/SciML/DiffEqParamEstim.jl), and [PEtab.jl](https://github.com/sebapersson/PEtab.jl) can all be used to [fit model parameters to data](https://sebapersson.github.io/PEtab.jl/stable/Define_in_julia/).
7776
- [GlobalSensitivity.jl](https://github.com/SciML/GlobalSensitivity.jl) can be used to perform [global sensitivity analysis](https://docs.sciml.ai/Catalyst/stable/inverse_problems/global_sensitivity_analysis/) of model behaviors.
7877
- [SciMLSensitivity.jl](https://github.com/SciML/SciMLSensitivity.jl) can be used to compute local sensitivities of functions containing forward model simulations.
78+
<!-- - [StructuralIdentifiability.jl](https://github.com/SciML/StructuralIdentifiability.jl) can be used to [perform structural identifiability analysis](https://docs.sciml.ai/Catalyst/stable/inverse_problems/structural_identifiability/). -->
7979

8080
#### Features of packages built upon Catalyst
8181
- Catalyst [`ReactionSystem`](@ref)s can be [imported from SBML files](https://docs.sciml.ai/Catalyst/stable/model_creation/model_file_loading_and_export/#Loading-SBML-files-using-SBMLImporter.jl-and-SBMLToolkit.jl) via [SBMLImporter.jl](https://github.com/sebapersson/SBMLImporter.jl) and [SBMLToolkit.jl](https://github.com/SciML/SBMLToolkit.jl), and [from BioNetGen .net files](https://docs.sciml.ai/Catalyst/stable/model_creation/model_file_loading_and_export/#file_loading_rni_net) and various stoichiometric matrix network representations using [ReactionNetworkImporters.jl](https://github.com/SciML/ReactionNetworkImporters.jl).
@@ -92,7 +92,7 @@ an ordinary differential equation.
9292

9393
```julia
9494
# Fetch required packages.
95-
using Catalyst, OrdinaryDiffEq, Plots
95+
using Catalyst, OrdinaryDiffEqDefault, Plots
9696

9797
# Create model.
9898
model = @reaction_network begin

docs/Project.toml

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,9 @@ CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0"
55
Catalyst = "479239e8-5488-4da2-87a7-35f2df7eef83"
66
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
77
DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e"
8-
DiffEqParamEstim = "1130ab10-4a5a-5621-a13d-e4788d82bd4c"
98
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
109
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
1110
DynamicalSystems = "61744808-ddfa-5f27-97ff-6e42cc95d634"
12-
GLMakie = "e9467ef8-e4e7-5192-8a1a-b1aee30e663a"
1311
GlobalSensitivity = "af5da776-676b-467e-8baf-acd8249e4f0f"
1412
GraphMakie = "1ecd5474-83a3-4783-bb4f-06765db800d2"
1513
Graphs = "86223c79-3864-5bf0-83f7-82e725a168b6"
@@ -20,10 +18,12 @@ Latexify = "23fbe1c1-3f47-55db-b15f-69d7ec21a316"
2018
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
2119
Logging = "56ddb016-857b-54e1-b83d-db4d58db5568"
2220
ModelingToolkit = "961ee093-0014-501f-94e3-6117800e7a78"
21+
NetworkLayout = "46757867-2c16-5918-afeb-47bfcb05e46a"
2322
NonlinearSolve = "8913a72c-1f9b-4ce2-8d82-65094dcecaec"
2423
Optim = "429524aa-4258-5aef-a3af-852621145aeb"
2524
Optimization = "7f7a1694-90dd-40f0-9382-eb1efda571ba"
2625
OptimizationBBO = "3e6eede4-6085-4f62-9a71-46d9bc1eb92b"
26+
OptimizationEvolutionary = "cb963754-43f6-435e-8d4b-99009ff27753"
2727
OptimizationNLopt = "4e6fcdb7-1186-4e1f-a706-475e75c168bb"
2828
OptimizationOptimJL = "36348300-93cb-4f02-beb5-3c3902f8871e"
2929
OptimizationOptimisers = "42dfb2eb-d2b4-4451-abcd-913932933ac1"
@@ -33,6 +33,7 @@ OrdinaryDiffEqRosenbrock = "43230ef6-c299-4910-a778-202eb28ce4ce"
3333
OrdinaryDiffEqSDIRK = "2d112036-d095-4a1e-ab9a-08536f3ecdbf"
3434
OrdinaryDiffEqTsit5 = "b1df2697-797e-41e3-8120-5422d3b24e4a"
3535
OrdinaryDiffEqVerner = "79d7bb75-1356-48c1-b8c0-6832512096c2"
36+
PEtab = "48d54b35-e43e-4a66-a5a1-dde6b987cf69"
3637
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
3738
QuasiMonteCarlo = "8a4e6c94-4038-4cdc-81c3-7e6ffdb2a71b"
3839
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
@@ -46,15 +47,13 @@ Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7"
4647
[compat]
4748
BenchmarkTools = "1.5"
4849
BifurcationKit = "0.4.4"
49-
CairoMakie = "0.12"
50+
CairoMakie = "0.12, 0.13"
5051
Catalyst = "14.4"
5152
DataFrames = "1.6"
52-
DiffEqBase = "< 6.159.0"
53-
DiffEqParamEstim = "2.2"
53+
DiffEqBase = "6.159.0"
5454
Distributions = "0.25"
5555
Documenter = "1.4.1"
5656
DynamicalSystems = "3.3"
57-
GLMakie = "0.10"
5857
GlobalSensitivity = "2.6"
5958
GraphMakie = "0.5"
6059
Graphs = "1.11.1"
@@ -63,11 +62,13 @@ IncompleteLU = "0.2"
6362
JumpProcesses = "9.13.2"
6463
Latexify = "0.16.5"
6564
LinearSolve = "2.30"
66-
ModelingToolkit = "9.32"
65+
ModelingToolkit = "< 9.60"
66+
NetworkLayout = "0.4"
6767
NonlinearSolve = "3.12, 4"
6868
Optim = "1.9"
6969
Optimization = "4"
7070
OptimizationBBO = "0.4"
71+
OptimizationEvolutionary = "0.4"
7172
OptimizationNLopt = "0.3"
7273
OptimizationOptimJL = "0.4"
7374
OptimizationOptimisers = "0.3"
@@ -77,6 +78,7 @@ OrdinaryDiffEqRosenbrock = "1"
7778
OrdinaryDiffEqSDIRK = "1"
7879
OrdinaryDiffEqTsit5 = "1"
7980
OrdinaryDiffEqVerner = "1"
81+
PEtab = "3.5"
8082
Plots = "1.40"
8183
QuasiMonteCarlo = "0.3"
8284
SciMLBase = "2.46"
@@ -85,4 +87,4 @@ SpecialFunctions = "2.4"
8587
StaticArrays = "1.9"
8688
SteadyStateDiffEq = "2.2"
8789
StochasticDiffEq = "6.65"
88-
Symbolics = "5.30.1, 6"
90+
Symbolics = "6.22"

docs/make.jl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
using Documenter
22
using Catalyst, ModelingToolkit
3+
# Add packages for plotting
4+
using GraphMakie, CairoMakie
35

46
docpath = Base.source_dir()
57
assetpath = joinpath(docpath, "src", "assets")
@@ -37,7 +39,9 @@ makedocs(sitename = "Catalyst.jl",
3739
collapselevel = 1,
3840
assets = ["assets/favicon.ico"],
3941
canonical = "https://docs.sciml.ai/Catalyst/stable/"),
40-
modules = [Catalyst, ModelingToolkit],
42+
modules = [Catalyst, ModelingToolkit,
43+
isdefined(Base, :get_extension) ? Base.get_extension(Catalyst, :CatalystGraphMakieExtension) :
44+
Catalyst.CatalystGraphMakieExtension],
4145
doctest = false,
4246
clean = true,
4347
pages = pages,

0 commit comments

Comments
 (0)