Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
480 commits
Select commit Hold shift + click to select a range
94bbeed
Merge branch 'docs/breakout-fortran-ug' into feature/python-interfaces
balos1 Oct 15, 2025
e6c42da
Merge branch 'feature/python-interfaces' into feature/python-nanobind
balos1 Oct 15, 2025
1fc0857
add numpydoc to requirements.txt
balos1 Oct 15, 2025
df724c6
fix duplicate section
balos1 Oct 15, 2025
6677ad1
rename to sundials4py
balos1 Oct 15, 2025
6384028
developer note
balos1 Oct 15, 2025
402d4db
format
balos1 Oct 16, 2025
e32225b
fix array type def
balos1 Oct 17, 2025
01a5b47
build wheels for different precisions
balos1 Oct 17, 2025
e1a0d38
add more doc sections on install and usage
balos1 Oct 17, 2025
38c9f12
rst syntax fixes
balos1 Oct 17, 2025
435ba0d
minor doc fixes
balos1 Oct 17, 2025
a472311
add CIBW_TEST_COMMAND
balos1 Oct 17, 2025
3b025bf
comment out extra wheels for now
balos1 Oct 17, 2025
04774a2
turn off some tests
balos1 Oct 17, 2025
3d54c26
update developer docs
balos1 Oct 17, 2025
c293a35
wip: gen arkode functions not previously generated
balos1 Oct 17, 2025
7e28ac8
format
balos1 Oct 17, 2025
dfccda2
require python 3.12
balos1 Oct 17, 2025
0e7fb0e
note Python version requirement
balos1 Oct 17, 2025
1225302
fix version in pyproject toml
balos1 Oct 17, 2025
20f3db0
get rid of macos 13 and add macos arm versions
balos1 Oct 17, 2025
d41e295
format
balos1 Oct 17, 2025
1a9a835
Merge remote-tracking branch 'origin/docs/breakout-fortran-ug' into f…
balos1 Oct 17, 2025
dbf6d99
Merge branch 'feature/python-interfaces' into feature/python-nanobind
balos1 Oct 17, 2025
32f410b
unskip tests
balos1 Oct 17, 2025
9c524ea
skip sunadaptcontroller tests
balos1 Oct 17, 2025
8314827
generate arkode functions not previously generated
balos1 Oct 17, 2025
1314408
fix include guards
balos1 Oct 17, 2025
b396d75
turn off deprecated declaration warnings when building the python module
balos1 Oct 17, 2025
6503f62
use sundials4py::Array1d using
balos1 Oct 17, 2025
cb9a177
expose sunrealtype and sunindextype
balos1 Oct 17, 2025
932e448
skip tests which cant run with single
balos1 Oct 17, 2025
bb420ae
add brusselator example for arkode
balos1 Oct 17, 2025
c677048
format
balos1 Oct 17, 2025
ad0c4b4
spelling
balos1 Oct 17, 2025
7ef3763
format
balos1 Oct 17, 2025
3e6d703
Git Status
balos1 Oct 17, 2025
ddab83b
try cleaning
balos1 Oct 17, 2025
07969b0
add heat1D example for arkode
balos1 Oct 17, 2025
a11a42b
format
balos1 Oct 17, 2025
cc8dcd8
git clean
balos1 Oct 17, 2025
1866919
use ARK_SUCCESS
balos1 Oct 17, 2025
b4fac16
use ARK_SUCCESS
balos1 Oct 17, 2025
097bd18
add cvs_lotkavolterra_ASA example
balos1 Oct 17, 2025
f54620d
rename
balos1 Oct 17, 2025
3c22f0d
remove Wno
balos1 Oct 17, 2025
a8dca1d
add kinsol example
balos1 Oct 18, 2025
72288ff
Merge branch 'develop' into docs/breakout-fortran-ug
gardner48 Oct 19, 2025
4c1e780
use sunrealtype
balos1 Oct 20, 2025
3304704
add IDAS example
balos1 Oct 20, 2025
51576da
interface manyvector
balos1 Oct 20, 2025
b43583b
add arkode ASA example
balos1 Oct 20, 2025
afb793d
add note in tests which fail with error checking on
balos1 Oct 20, 2025
1077209
fix arkode lv asa example
balos1 Oct 20, 2025
8f03296
format
balos1 Oct 20, 2025
3290f0d
add _1d suffix in manyvector header
balos1 Oct 21, 2025
35fa081
use shared_ptr
balos1 Oct 22, 2025
d518dd9
make_our_shared to our_make_shared
balos1 Oct 27, 2025
12d2b41
fix generation of create routines
balos1 Oct 28, 2025
1b613e4
regenerate and format
balos1 Oct 29, 2025
8c2b96d
regen with fixed litgen
balos1 Oct 29, 2025
c69127e
use main
balos1 Oct 29, 2025
8af39e1
generate sunadaptcontroller
balos1 Oct 29, 2025
befe074
format
balos1 Oct 29, 2025
6b96eb5
setup keep_alive_tuple
balos1 Oct 29, 2025
d036358
[wip] make tuple keep_alive generation work
balos1 Oct 29, 2025
5afc8af
cleanup includes, some work on the adataptation to shared_ptr
balos1 Oct 30, 2025
cf951ae
optimization
balos1 Oct 30, 2025
afcaca7
generate more
balos1 Oct 30, 2025
6369531
update some of the unit tests
balos1 Oct 30, 2025
99f55d6
format
balos1 Oct 30, 2025
7dd2e91
all tests passing with shared_ptr approach
balos1 Oct 30, 2025
b7ad2fb
missed one
balos1 Oct 30, 2025
1f1ef75
remove print
balos1 Oct 30, 2025
a71abab
remove unused view classes
balos1 Oct 30, 2025
c1d8822
remove generate_all script
balos1 Oct 30, 2025
c0a8400
update examples
balos1 Oct 31, 2025
b18ab0b
fix typo
balos1 Oct 31, 2025
3ea0862
fix more nurse,patient edge cases
balos1 Oct 31, 2025
3a8a57e
format
balos1 Oct 31, 2025
4ab6a9c
add custom exception
balos1 Oct 31, 2025
f2fca2f
Merge remote-tracking branch 'origin/develop' into feature/python-nan…
balos1 Nov 1, 2025
ddc1840
Merge branch 'develop' into docs/breakout-fortran-ug
balos1 Nov 1, 2025
14e080d
Merge remote-tracking branch 'origin/docs/breakout-fortran-ug' into f…
balos1 Nov 1, 2025
5cb329a
remove extra using
balos1 Nov 1, 2025
79cd452
remove fortran (lowercase f) directory
balos1 Nov 1, 2025
26f21c2
remove git status debugging steps in wheels workflow
balos1 Nov 1, 2025
62b62f6
dont generate MRIStepSetPreInnerFn/MRIStepSetPostInnerFn
balos1 Nov 1, 2025
9f2c368
dont generate some
balos1 Nov 1, 2025
e8fa248
more function pointer set functions
balos1 Nov 3, 2025
8469810
one more missing function pointer setter
balos1 Nov 3, 2025
d4f5998
another arkode setter
balos1 Nov 3, 2025
753ab0b
memory helper test
balos1 Nov 3, 2025
feda9ee
typo
balos1 Nov 3, 2025
930b5b8
formatt
balos1 Nov 3, 2025
45477d1
see what happens with linearcombination off
balos1 Nov 3, 2025
fe1a97d
fix runner tags
balos1 Nov 3, 2025
6091707
comment out setarraypointer test
balos1 Nov 3, 2025
3f142db
fix tags
balos1 Nov 3, 2025
9145e55
regen and format
balos1 Nov 3, 2025
3c64ced
ensure MACOSX_DEPLOYMENT_TARGET set
balos1 Nov 3, 2025
3e8a5ea
fix doc
balos1 Nov 3, 2025
45bdfb4
missing comma
balos1 Nov 3, 2025
1e78630
add cvodes fsa and asa tests
balos1 Nov 3, 2025
60c03e7
fix idas BS functions
balos1 Nov 3, 2025
921e773
format
balos1 Nov 3, 2025
68b9cb3
fix cvodes BS functions
balos1 Nov 4, 2025
d13386b
fix kinsol depth function callback
balos1 Nov 4, 2025
ef5c4c1
add test_ functions to examples so they can run under pytest
balos1 Nov 4, 2025
bc00347
test that out param in callback in sunstepper works (it doesnt)
balos1 Nov 4, 2025
ede6c21
fix SUNStepper_GetNumSteps
balos1 Nov 4, 2025
c48b6af
fix sunstepper set forcing
balos1 Nov 4, 2025
4911872
add view classes that previously existed back
balos1 Nov 4, 2025
4b58c2b
fix sunstepper fixture
balos1 Nov 4, 2025
98f884d
fix arkode callbacks
balos1 Nov 4, 2025
b3e695b
fix cvode callbacks
balos1 Nov 4, 2025
f2142e6
disable root finding for now
balos1 Nov 4, 2025
c313c1e
fix kinsol callbacks
balos1 Nov 4, 2025
8444c11
fix sunnonlinearsolver lsetup
balos1 Nov 4, 2025
515f01a
usage note
balos1 Nov 4, 2025
25f23f3
Merge remote-tracking branch 'origin/develop' into feature/python-nan…
balos1 Nov 4, 2025
88a77f6
fix cvodes cvode_fQS_wrapper
balos1 Nov 4, 2025
c61b090
move generator code into a submodule
balos1 Nov 4, 2025
debcf5c
couple small fixes
balos1 Nov 4, 2025
ae2afab
Potential fix for code scanning alert no. 92: Workflow does not conta…
balos1 Nov 4, 2025
c132a0b
regen swig
balos1 Nov 4, 2025
eb62e95
format
balos1 Nov 4, 2025
644c305
spelling
balos1 Nov 4, 2025
86391cc
update wheels workflow
balos1 Nov 4, 2025
8285b01
spelling
balos1 Nov 4, 2025
3f6d0ce
move static functions in profiler impl to profiler.c
balos1 Nov 4, 2025
25476ed
add generator check
balos1 Nov 4, 2025
cceff21
fix name
balos1 Nov 4, 2025
43de5c5
fix permissions
balos1 Nov 4, 2025
298cc34
update kinsol and cvodes to stuff solver memory into user data
balos1 Nov 5, 2025
02e2651
remove cvSetOwnUserData
balos1 Nov 5, 2025
ab98076
ensure that all of the cvodes BS callbacks are bound
balos1 Nov 5, 2025
342d086
cleanup in cvodes.cpp
balos1 Nov 5, 2025
a9ff044
add python pointer in ida mem
balos1 Nov 5, 2025
e16b87b
[wip] fixing idas callbacks/userdata
balos1 Nov 5, 2025
609ed91
fix cvodes callbacks
balos1 Nov 5, 2025
063bb33
fix idas
balos1 Nov 5, 2025
7e23ac6
remove python pointer from cvode bmem
balos1 Nov 5, 2025
a1e0368
test quadratures too
balos1 Nov 6, 2025
5be89c2
fix two idas BS functions
balos1 Nov 6, 2025
30008d1
bind the rest of the IDAS BS callbacks
balos1 Nov 7, 2025
7d986c1
format
balos1 Nov 7, 2025
b245e52
generate some functions in cvodes that we can now handle
balos1 Nov 7, 2025
6c5294e
add some more arkode functions
balos1 Nov 7, 2025
31e35d5
update all of the arkode callbacks with ark_mem in user_data
balos1 Nov 10, 2025
aebb945
format
balos1 Nov 10, 2025
e9a97ff
try to interface MRIStepInnerStepper_GetForcingData
balos1 Nov 10, 2025
1a9b328
disable leak warnings in Release builds
balos1 Nov 10, 2025
29bd64b
interface more functions
balos1 Nov 10, 2025
e3c6e54
more interfacing of previously unsupported functions
balos1 Nov 10, 2025
3bf9478
setarraypointer enable test
balos1 Nov 10, 2025
58822e8
format
balos1 Nov 10, 2025
27d307a
remove old comment
balos1 Nov 10, 2025
5a8b779
comments
balos1 Nov 10, 2025
1e48480
interface SUNLinSolSetATimes and SUNLinSolSetPreconditioner
balos1 Nov 11, 2025
b5b5571
handle SUNContext_PushErrHandler
balos1 Nov 11, 2025
c09f753
fix SUNContext_PushErrHandler
balos1 Nov 11, 2025
404301f
fix sundomeigest test_estimate
balos1 Nov 11, 2025
e9bf1bf
format
balos1 Nov 11, 2025
a867259
fix another todo
balos1 Nov 11, 2025
5b17c1f
fix adjoint routines
balos1 Nov 11, 2025
cb54118
naming
balos1 Nov 11, 2025
0eec49c
support SetOptions
balos1 Nov 11, 2025
e3fe597
add back SUNLinearSolverView
balos1 Nov 11, 2025
d607095
typo
balos1 Nov 11, 2025
3109fae
allow C++17
balos1 Nov 11, 2025
b07a842
format
balos1 Nov 11, 2025
1d46711
add sundials4py to requirements.txt for docs
balos1 Nov 11, 2025
1ec2029
typpo
balos1 Nov 11, 2025
e8c4a9a
fix c++ requirements
balos1 Nov 11, 2025
dcfe5d5
fix branch name
balos1 Nov 11, 2025
7b6c77d
fix submodule url
balos1 Nov 11, 2025
530ac68
use newer python in rtd build
balos1 Nov 11, 2025
755b498
fix SUNContextView deletion
balos1 Nov 11, 2025
3acd16a
format
balos1 Nov 11, 2025
1ede1cb
doc reference fix
balos1 Nov 11, 2025
1e3fa48
fix includes for windows in ark_kpr_nestedmri
balos1 Nov 11, 2025
48e51f7
ensure gout set in smoke tests to avoid random roots being found
balos1 Nov 11, 2025
ee2ea57
enable workflows on push for now
balos1 Nov 11, 2025
bdbd5e9
remove unused include
balos1 Nov 11, 2025
c77f2a4
merge fixes
balos1 Nov 11, 2025
fffd484
checkout include from feature/python-nanobind
balos1 Nov 11, 2025
db0f1ea
checkout src from feature/python-nanobind
balos1 Nov 11, 2025
f3eb4f9
checkout examples from feature/python-nanobind
balos1 Nov 11, 2025
304f42c
checkout swig from feature/python-nanobind
balos1 Nov 11, 2025
fe80e70
checkout test from feature/python-nanobind
balos1 Nov 11, 2025
958ce38
checkout CHANGELOG from feature/python-nanobind
balos1 Nov 11, 2025
73a77a6
checkout some of doc from feature/python-nanobind
balos1 Nov 11, 2025
980fdd2
Merge branch 'feature/enable-python' into feature/python-nanobind
balos1 Nov 11, 2025
1333e09
add change note about interfaces
balos1 Nov 11, 2025
941f87a
reorg Python section
balos1 Nov 11, 2025
fd1a825
fix duplicate doc of KINSetDepthFn
balos1 Nov 11, 2025
90ee8a2
fix duplicate doc of KINSetDepthFn
balos1 Nov 11, 2025
084e8e1
fix workflows
balos1 Nov 11, 2025
b26ec89
add formatting to litgen check
balos1 Nov 11, 2025
da39204
remove push
balos1 Nov 11, 2025
c51c79a
typo
balos1 Nov 11, 2025
6028f83
trigger ci
balos1 Nov 11, 2025
0b775af
remove push
balos1 Nov 11, 2025
dccae47
install python
balos1 Nov 11, 2025
c130b67
only build extra wheels on ubuntu
balos1 Nov 11, 2025
d2a6012
set gout to 1 to avoid root detection
balos1 Nov 11, 2025
e9c201d
call python3
balos1 Nov 11, 2025
d977d85
name
balos1 Nov 11, 2025
5ad8da0
ensure ndarray has owner so that data is not copied and only referenced
balos1 Nov 11, 2025
8b0ea10
fix wheel path
balos1 Nov 12, 2025
0d7d41a
Merge remote-tracking branch 'origin/develop' into feature/enable-python
balos1 Nov 17, 2025
0b0133e
address pr comments on doc/
balos1 Nov 17, 2025
ae9962a
address comments on src/
balos1 Nov 17, 2025
e946159
address most of David's comments on include/
balos1 Nov 17, 2025
a976978
add typedef for enums missing it
balos1 Nov 17, 2025
06423ef
Merge remote-tracking branch 'origin/feature/enable-python' into feat…
balos1 Nov 17, 2025
2733fa6
Merge branch 'feature/enable-python' into feature/python-nanobind
balos1 Nov 17, 2025
f2cea64
regen
balos1 Nov 17, 2025
2797313
remove incorrect rv_policy annotations
balos1 Nov 17, 2025
0a9fa5e
a couple minor fixes
balos1 Nov 17, 2025
91e20bc
Merge branch 'feature/enable-python' into feature/python-nanobind
balos1 Nov 17, 2025
0cd07c2
fix includes
balos1 Nov 17, 2025
0a4d3ae
regen
balos1 Nov 17, 2025
e7fdf83
address Steven's comments
balos1 Nov 17, 2025
f5c73c3
update docs
balos1 Nov 17, 2025
bdc220c
Merge branch 'feature/enable-python' into feature/python-nanobind
balos1 Nov 17, 2025
49e6b50
use is_pointer<T>::value since we dont require c++17 in some c++ builds
balos1 Nov 17, 2025
c6fed8a
remove class specialization
balos1 Nov 18, 2025
eb3bb33
fix noexcepts on convertibleto overrides
balos1 Nov 18, 2025
a968995
regen swig
balos1 Nov 18, 2025
c287caf
fix doc duplicate text
balos1 Nov 18, 2025
8b143ed
Merge branch 'feature/enable-python' into feature/python-nanobind
balos1 Nov 18, 2025
9165791
fix docs, constructor, view name
balos1 Nov 18, 2025
f960e23
fix docs, constructor, view name
balos1 Nov 18, 2025
4fc7e0f
doc update
balos1 Nov 18, 2025
e712323
update docs
balos1 Nov 18, 2025
9a68200
Merge branch 'feature/enable-python' into feature/python-nanobind
balos1 Nov 18, 2025
68dd14c
use move assignment
balos1 Nov 18, 2025
98aea33
remove const
balos1 Nov 18, 2025
fc2c06b
Apply suggestions from code review
balos1 Nov 20, 2025
9cd8556
move note
balos1 Nov 20, 2025
9a3df22
Merge branch 'develop' into feature/enable-python
balos1 Nov 20, 2025
237d2cf
Merge branch 'feature/enable-python' into feature/python-nanobind
balos1 Nov 20, 2025
310e1b4
ensure correct python min version
balos1 Nov 20, 2025
20b2460
Merge branch 'develop' into feature/python-nanobind
balos1 Nov 21, 2025
b5d50bb
fix doc structure
balos1 Nov 25, 2025
4fd7173
fix layout
balos1 Nov 25, 2025
bae2a7e
Apply suggestions from code review
balos1 Nov 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 79 additions & 0 deletions .github/workflows/check-litgen.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
name: Checks - litgen

permissions:
contents: read

on:
pull_request:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }}
cancel-in-progress: true

jobs:
litgen_check:
runs-on: ubuntu-latest
container:
image: ghcr.io/llnl/sundials_spack_cache:llvm-17.0.4-h4lflucc3v2vage45opbo2didtcuigsn.spack
steps:
- name: Install dependencies with apt
run: |
apt update
apt install -y git python3 python3-pip

- name: Install black
run: pip install black

- name: Print black version
run: black --version

- name: Install cmake-format
run: pip install cmakelang

- name: Print cmake-format version
run: cmake-format --version

- name: Install fprettify
run: pip install fprettify

- name: Print fprettify version
run: fprettify --version

- name: Print clang-format version
run: clang-format --version

- name: Install sundials generator+litgen
run: |
pip install black isort pyyaml litgen@git+https://github.com/sundials-codes/litgen.git

- name: Check out repository code
uses: actions/checkout@v5
with:
submodules: true

- name: Add safe directory
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"

- name: Run generator on code
run: |
cd bindings/sundials4py
python3 sundials4py-generate/generate.py .

- name: Run formatter on code
run: ./scripts/format.sh bindings/sundials4py

- name: Run git diff to see if anything changed
run: /usr/bin/git diff --exit-code

- name: Run git diff if we failed
if: failure()
run: /usr/bin/git diff > litgen.patch

- name: Archive diff as a patch if we failed
uses: actions/upload-artifact@v5
if: failure()
with:
name: litgen.patch
path: |
${{ github.workspace }}/litgen.patch
120 changes: 120 additions & 0 deletions .github/workflows/sundials4py-wheels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
name: sundials4py wheels

permissions:
contents: read

on:
push:
branches:
- main
- develop
pull_request:
merge_group:
workflow_dispatch:
release:
types:
- published

jobs:
build_sdist:
name: Build SDist
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
submodules: true

- name: Build SDist
run: pipx run build --sdist

- name: Check metadata
run: pipx run twine check dist/*

- uses: actions/upload-artifact@v5
with:
name: dist-sdist
path: dist/*.tar.gz


build_wheels:
name: Wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, macos-15-intel, windows-latest]

steps:
- name: Set macOS deployment target
if: contains(matrix.os, 'macos')
run: echo "MACOSX_DEPLOYMENT_TARGET=$(sw_vers -productVersion | cut -d '.' -f 1-2)" >> $GITHUB_ENV

- uses: actions/checkout@v5
with:
submodules: true

- uses: pypa/[email protected]
env:
CIBW_TEST_COMMAND: "pytest {project}/bindings/sundials4py/test"

- name: Upload wheels
uses: actions/upload-artifact@v5
with:
path: wheelhouse/*.whl
name: dist-${{ matrix.os }}

build_wheels_extra:
name: Build extra wheels on ${{ matrix.os }} (${{ matrix.precision }}/${{ matrix.index }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
precision: [single, double]
index: [32, 64]

steps:
- name: Set macOS deployment target
if: contains(matrix.os, 'macos')
run: echo "MACOSX_DEPLOYMENT_TARGET=$(sw_vers -productVersion | cut -d '.' -f 1-2)" >> $GITHUB_ENV

- uses: actions/checkout@v5
with:
submodules: true

- uses: pypa/[email protected]
env:
CMAKE_ARGS: "-DSUNDIALS_PRECISION=${{ matrix.precision }} -DSUNDIALS_INDEX_SIZE=${{ matrix.index }}"
CIBW_TEST_COMMAND: "pytest {project}/bindings/sundials4py/test"

- name: Rename wheels to include config
run: |
for whl in wheelhouse/*.whl; do
mv "$whl" "$(echo $whl | sed 's/\.whl$/-${{ matrix.precision }}-${{ matrix.index }}.whl/')"
done
shell: bash

- name: Upload wheels
uses: actions/upload-artifact@v5
with:
path: wheelhouse/*.whl
name: dist-${{ matrix.os }}

upload:
name: Upload if release
needs: [build_wheels, build_sdist]
runs-on: ubuntu-latest
if: github.event_name == 'release' && github.event.action == 'published'

steps:
- uses: actions/setup-python@v5
- uses: actions/download-artifact@v4
with:
path: dist
pattern: dist-*
merge-multiple: true

- uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.pypi_password }}
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
/.pydevproject
.vscode
compile_commands.json
.venv
.clangd

# custom test environment setup script
Expand Down Expand Up @@ -69,6 +70,7 @@ compile_commands.json
/doc/build/
/doc/*/build/
/doc/shared/__pycache__
/doc/shared/Python/sundials4py-*-functions.rst

# PDFs of user guides and example docs
/doc/*/*_guide.pdf
Expand All @@ -82,3 +84,7 @@ uberenv_libs

# tools
/tools/suntools/__pycache__

# python
.pytest_cache
__pycache__
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,6 @@
[submodule "external/sundials-addon-example"]
path = external/sundials-addon-example
url = https://github.com/sundials-codes/sundials-addon-example.git
[submodule "bindings/sundials4py/sundials4py-generate"]
path = bindings/sundials4py/sundials4py-generate
url = https://github.com/sundials-codes/sundials4py-generate.git
4 changes: 2 additions & 2 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ version: 2

# Set the version of Python and other tools you might need
build:
os: ubuntu-20.04
os: ubuntu-24.04
tools:
python: "3.9"
python: "3.12"
apt_packages:
- graphviz

Expand Down
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@

### Major Features

SUNDIALS now has official Python interfaces! With this release, we are shipping a **beta version** of
the sundials4py Python module (created with nanobind and litgen). sundials4py provides explicit
interfaces to most features of SUNDIALS.

### New Features and Enhancements

The functions `CVodeGetUserDataB` and `IDAGetUserDataB` were added to CVODES
Expand Down
4 changes: 4 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,10 @@ if(SUNDIALS_ENABLE_EXTERNAL_ADDONS)
add_subdirectory(external)
endif()

if(SUNDIALS_ENABLE_PYTHON)
add_subdirectory(bindings/sundials4py)
endif()

# ===============================================================
# Install configuration header files and license file.
# ===============================================================
Expand Down
Loading
Loading