Skip to content

Commit d2fbf91

Browse files
authored
Merge pull request #2597 from dweindl/release_0.29.0
Release 0.29.0
2 parents c3bbdd9 + 593b800 commit d2fbf91

Some content is hidden

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

52 files changed

+3514
-167
lines changed

.github/actions/install-macos-dependencies/action.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,8 @@ runs:
2727

2828
# install amici dependencies
2929
- name: homebrew
30-
run: brew install hdf5 swig gcc libomp boost
30+
# install hdf5 without dependencies, because pkgconf installation fails,
31+
# because it's already installed on the runners. install the other
32+
# hdf5 dependencies (libaec) manually
33+
run: brew install libaec && brew install --ignore-dependencies hdf5 && brew install swig libomp boost
3134
shell: bash

.github/workflows/test_benchmark_collection_models.yml

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
run: |
5151
pip3 install --user petab[vis] && \
5252
AMICI_PARALLEL_COMPILE="" pip3 install -v --user \
53-
$(ls -t python/sdist/dist/amici-*.tar.gz | head -1)[petab,test,vis]
53+
$(ls -t python/sdist/dist/amici-*.tar.gz | head -1)[petab,test,vis,jax]
5454
5555
- name: Install test dependencies
5656
run: |
@@ -60,14 +60,27 @@ jobs:
6060
6161
- name: Download benchmark collection
6262
run: |
63-
git clone --depth 1 https://github.com/benchmarking-initiative/Benchmark-Models-PEtab.git \
64-
&& python3 -m pip install -e Benchmark-Models-PEtab/src/python
63+
pip install git+https://github.com/Benchmarking-Initiative/Benchmark-Models-PEtab.git@master#subdirectory=src/python
6564
6665
- name: Run tests
6766
env:
6867
AMICI_PARALLEL_COMPILE: ""
6968
run: |
70-
cd tests/benchmark-models && pytest --durations=10
69+
cd tests/benchmark-models && pytest \
70+
--durations=10
71+
--cov=amici \
72+
--cov-report=xml:"coverage_py.xml" \
73+
--cov-append \
74+
75+
- name: Codecov Python
76+
if: github.event_name == 'pull_request' || github.repository_owner == 'AMICI-dev'
77+
uses: codecov/codecov-action@v5
78+
with:
79+
token: ${{ secrets.CODECOV_TOKEN }}
80+
file: coverage_py.xml
81+
flags: python
82+
fail_ci_if_error: true
83+
verbose: true
7184

7285
# collect & upload results
7386
- name: Aggregate results

.github/workflows/test_install.yml

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -96,14 +96,8 @@ jobs:
9696

9797
- run: echo "AMICI_DIR=$(pwd)" >> $GITHUB_ENV
9898

99-
# install amici dependencies
100-
- name: homebrew
101-
run: |
102-
brew install hdf5 swig gcc cppcheck libomp boost \
103-
&& brew ls -v boost \
104-
&& brew ls -v libomp \
105-
&& echo LDFLAGS="-L/usr/local/lib/ -L/usr/local/Cellar/boost/1.81.0_1/lib/" >> $GITHUB_ENV \
106-
&& echo CPPFLAGS="-I /usr/local/Cellar/boost/1.81.0_1/include/" >> $GITHUB_ENV
99+
- name: Install dependencies
100+
uses: ./.github/actions/install-macos-dependencies
107101

108102
- name: Create AMICI sdist
109103
run: scripts/buildSdist.sh

.github/workflows/test_petab_test_suite.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ jobs:
101101
102102
- name: Codecov
103103
if: github.event_name == 'pull_request' || github.repository_owner == 'AMICI-dev'
104-
uses: codecov/codecov-action@v4
104+
uses: codecov/codecov-action@v5
105105
with:
106106
token: ${{ secrets.CODECOV_TOKEN }}
107107
file: coverage.xml

.github/workflows/test_python_cplusplus.yml

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ jobs:
7979
8080
- name: Codecov Python
8181
if: github.event_name == 'pull_request' || github.repository_owner == 'AMICI-dev'
82-
uses: codecov/codecov-action@v4
82+
uses: codecov/codecov-action@v5
8383
with:
8484
token: ${{ secrets.CODECOV_TOKEN }}
8585
file: build/coverage_py.xml
@@ -99,7 +99,7 @@ jobs:
9999
100100
- name: Codecov CPP
101101
if: github.event_name == 'pull_request' || github.repository_owner == 'AMICI-dev'
102-
uses: codecov/codecov-action@v4
102+
uses: codecov/codecov-action@v5
103103
with:
104104
token: ${{ secrets.CODECOV_TOKEN }}
105105
file: coverage.info
@@ -161,7 +161,7 @@ jobs:
161161
162162
- name: Codecov Python
163163
if: github.event_name == 'pull_request' || github.repository_owner == 'AMICI-dev'
164-
uses: codecov/codecov-action@v4
164+
uses: codecov/codecov-action@v5
165165
with:
166166
token: ${{ secrets.CODECOV_TOKEN }}
167167
file: build/coverage_py.xml
@@ -181,7 +181,7 @@ jobs:
181181
182182
- name: Codecov CPP
183183
if: github.event_name == 'pull_request' || github.repository_owner == 'AMICI-dev'
184-
uses: codecov/codecov-action@v4
184+
uses: codecov/codecov-action@v5
185185
with:
186186
token: ${{ secrets.CODECOV_TOKEN }}
187187
file: coverage.info
@@ -231,11 +231,6 @@ jobs:
231231
- name: Install python package
232232
run: scripts/installAmiciSource.sh
233233

234-
- name: Install notebook dependencies
235-
run: |
236-
source venv/bin/activate \
237-
&& pip install jax[cpu]
238-
239234
- name: example notebooks
240235
run: scripts/runNotebook.sh python/examples/example_*/
241236

.github/workflows/test_sbml_semantic_test_suite.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ jobs:
5555

5656
- name: Codecov SBMLSuite
5757
if: github.event_name == 'pull_request' || github.repository_owner == 'AMICI-dev'
58-
uses: codecov/codecov-action@v4
58+
uses: codecov/codecov-action@v5
5959
with:
6060
token: ${{ secrets.CODECOV_TOKEN }}
6161
file: coverage_SBMLSuite.xml

.github/workflows/test_valgrind.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,5 +89,9 @@ jobs:
8989
- name: Install python package
9090
run: scripts/installAmiciSource.sh
9191

92+
- name: Remove jax
93+
# avoid valgrind errors due to jax et al.
94+
run: venv/bin/pip uninstall -y jax
95+
9296
- name: Python tests / Valgrind
9397
run: scripts/run-valgrind-py.sh

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,8 @@ tests/test/*
137137
*/tests/explicit_amici/*
138138
*/tests/fixed_initial_amici/*
139139
*/tests/localfunc_amici/*
140+
*/tests/conversion/*
141+
*/tests/dimerization/*
140142
tests/cpp/writeResults.h5
141143
tests/cpp/writeResults.h5.bak
142144
tests/sbml-test-suite/*

.readthedocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ build:
2121
os: "ubuntu-22.04"
2222
apt_packages:
2323
- libatlas-base-dev
24+
- libhdf5-serial-dev
2425
- swig
2526
tools:
2627
python: "3.11"

CHANGELOG.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,60 @@ See also our [versioning policy](https://amici.readthedocs.io/en/latest/versioni
44

55
## v0.X Series
66

7+
### v0.29.0 (2024-11-28)
8+
9+
**Fixes**
10+
11+
* Fixed race conditions in froot, which could have resulted in incorrect
12+
simulation results for models with events/heavisides/piecewise, for
13+
multi-threaded simulations.
14+
15+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2587
16+
17+
* Fixed race conditions for the max-time check, which could have resulted in
18+
incorrect termination of simulations in case of multi-threaded simulations
19+
in combination with a time limit.
20+
21+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2587
22+
23+
* Added missing fields in ExpData HDF5 I/O
24+
25+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2593
26+
27+
* Added missing fields in ReturnData HDF5 output
28+
29+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2602
30+
31+
32+
* **Features**
33+
34+
* Generate models in a JAX-compatible format
35+
([example](https://amici.readthedocs.io/en/develop/ExampleJaxPEtab.html))
36+
37+
by @FFroehlich in https://github.com/AMICI-dev/AMICI/pull/1861
38+
39+
* Faster `fill_in_parameters_for_condition`
40+
41+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2586
42+
43+
* Added Python function `writeSimulationExpData` for writing ExpData to HDF5
44+
45+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2588
46+
47+
* Improved import of amici-generated models via `amici.import_model_module()`.
48+
49+
So far, it was not possible to import different model modules with the same
50+
name. This is now possible if they are in different directories.
51+
Overwriting an already imported module is still not possible (and never
52+
was); any attempts to do so will raise a `RuntimeError`.
53+
While model packages can, in principle, be imported using regular
54+
`import`s, it is strongly recommended to use `amici.import_model_module()`.
55+
56+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2604, https://github.com/AMICI-dev/AMICI/pull/2603, https://github.com/AMICI-dev/AMICI/pull/2596
57+
58+
**Full Changelog**: https://github.com/AMICI-dev/AMICI/compare/v0.28.0...v0.29.0
59+
60+
761
### v0.28.0 (2024-11-11)
862

963
**Breaking changes**

0 commit comments

Comments
 (0)