Skip to content

Commit 7487607

Browse files
authored
Merge pull request #2433 from dweindl/release_0.25.0
Release 0.25.0
2 parents 29b7ee8 + 52996d3 commit 7487607

File tree

97 files changed

+999
-586
lines changed

Some content is hidden

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

97 files changed

+999
-586
lines changed

.git-blame-ignore-revs

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
f59fed72eb4d0cedf6abf2a96fe95087ce61478a

.github/dependabot.yml

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
version: 2
2+
updates:
3+
4+
- package-ecosystem: "github-actions"
5+
directory: "/"
6+
schedule:
7+
interval: "weekly"
8+
ignore:
9+
- dependency-name: "*"
10+
update-types: ["version-update:semver-patch", "version-update:semver-minor"]

.github/workflows/deploy_branch.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99

1010
strategy:
1111
matrix:
12-
python-version: [3.9]
12+
python-version: ["3.11"]
1313

1414
steps:
1515
- name: Set up Python ${{ matrix.python-version }}

.github/workflows/deploy_protected.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@ jobs:
2929
fi
3030
3131
dockerhub:
32-
name: Deploy Dockerhub
32+
name: Deploy Docker Hub
3333
needs: [check-secret]
3434
if: needs.check-secret.outputs.secrets-defined == 'true'
3535
runs-on: ubuntu-22.04
3636

3737
strategy:
3838
matrix:
39-
python-version: [3.9]
39+
python-version: ["3.11"]
4040

4141
steps:
4242
- name: Set up Python ${{ matrix.python-version }}
@@ -50,7 +50,7 @@ jobs:
5050
- name: Set up Docker Buildx
5151
uses: docker/setup-buildx-action@v3
5252
- name: Publish to Registry
53-
uses: elgohr/Publish-Docker-Github-Action@v4
53+
uses: elgohr/Publish-Docker-Github-Action@v5
5454
with:
5555
name: dweindl/amici
5656
username: ${{ secrets.DOCKER_USERNAME }}

.github/workflows/deploy_release.yml

+28-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212

1313
strategy:
1414
matrix:
15-
python-version: [3.9]
15+
python-version: ["3.11"]
1616

1717
environment:
1818
name: pypi
@@ -39,7 +39,7 @@ jobs:
3939
- name: Remove direct dependencies from setup.cfg
4040
# Remove any "git+https"-based dependencies that are not supported
4141
# by PyPI and are only required for testing.
42-
run: sed -i '/git+https/d' python/sdist/setup.cfg
42+
run: sed -i '/git+https/d' python/sdist/pyproject.toml
4343

4444
- name: sdist
4545
run: scripts/buildSdist.sh
@@ -74,3 +74,29 @@ jobs:
7474
-H "Accept: application/vnd.github.v3+json" \
7575
https://api.github.com/repos/${DOWNSTREAM_REPOSITORY}/actions/workflows/${WORKFLOW_FILE}/dispatches \
7676
-d "{\"ref\": \"dev\", \"inputs\": {\"simulatorVersion\": \"${PACKAGE_VERSION}\", \"simulatorVersionLatest\": \"true\"}}"
77+
78+
dockerhub:
79+
name: Release to Docker Hub
80+
runs-on: ubuntu-22.04
81+
82+
steps:
83+
- name: Set up Python
84+
uses: actions/setup-python@v5
85+
with:
86+
python-version: "3.11"
87+
- uses: actions/checkout@v4
88+
- run: git archive -o container/amici.tar.gz --format=tar.gz HEAD
89+
- name: Set up QEMU
90+
uses: docker/setup-qemu-action@v3
91+
- name: Set up Docker Buildx
92+
uses: docker/setup-buildx-action@v3
93+
- name: Publish to Registry
94+
uses: elgohr/Publish-Docker-Github-Action@v5
95+
with:
96+
name: dweindl/amici
97+
username: ${{ secrets.DOCKER_USERNAME }}
98+
password: ${{ secrets.DOCKER_PASSWORD }}
99+
workdir: container/
100+
dockerfile: Dockerfile
101+
tag_semver: true
102+
platforms: linux/amd64,linux/arm64

.github/workflows/test_benchmark_collection_models.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
strategy:
2323
fail-fast: false
2424
matrix:
25-
python-version: [ "3.9" ]
25+
python-version: [ "3.11" ]
2626
extract_subexpressions: ["true", "false"]
2727
env:
2828
AMICI_EXTRACT_CSE: ${{ matrix.extract_subexpressions }}

.github/workflows/test_doc.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020

2121
strategy:
2222
matrix:
23-
python-version: [3.9]
23+
python-version: ["3.11"]
2424

2525
steps:
2626
- name: Set up Python ${{ matrix.python-version }}

.github/workflows/test_install.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99

1010
strategy:
1111
matrix:
12-
python-version: [3.9]
12+
python-version: ["3.11"]
1313

1414
steps:
1515
- name: Set up Python ${{ matrix.python-version }}
@@ -50,7 +50,7 @@ jobs:
5050

5151
strategy:
5252
matrix:
53-
python-version: [3.9]
53+
python-version: ["3.11"]
5454

5555
steps:
5656
- name: Set up Python ${{ matrix.python-version }}
@@ -83,7 +83,7 @@ jobs:
8383

8484
strategy:
8585
matrix:
86-
python-version: [3.9]
86+
python-version: ["3.11"]
8787

8888
steps:
8989
- name: Set up Python ${{ matrix.python-version }}

.github/workflows/test_performance.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323

2424
strategy:
2525
matrix:
26-
python-version: [3.9]
26+
python-version: ["3.11"]
2727

2828
steps:
2929
- name: Set up Python ${{ matrix.python-version }}

.github/workflows/test_petab_test_suite.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222

2323
strategy:
2424
matrix:
25-
python-version: [3.9]
25+
python-version: ["3.11"]
2626

2727
steps:
2828
- name: Set up Python ${{ matrix.python-version }}

.github/workflows/test_pypi.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
strategy:
1212
fail-fast: false
1313
matrix:
14-
python-version: ["3.9", "3.10", "3.11", "3.12"]
14+
python-version: ["3.10", "3.11", "3.12"]
1515
os: [ubuntu-22.04, macos-latest]
1616

1717
runs-on: ${{ matrix.os }}

.github/workflows/test_python_cplusplus.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515

1616
strategy:
1717
matrix:
18-
python-version: [ "3.9" ]
18+
python-version: [ "3.11" ]
1919

2020
steps:
2121
- name: Cache
@@ -117,7 +117,7 @@ jobs:
117117

118118
strategy:
119119
matrix:
120-
python-version: [ "3.9" ]
120+
python-version: [ "3.10" ]
121121

122122
steps:
123123
- name: Set up Python ${{ matrix.python-version }}
@@ -193,7 +193,7 @@ jobs:
193193

194194
strategy:
195195
matrix:
196-
python-version: [ "3.9" ]
196+
python-version: [ "3.11" ]
197197

198198
steps:
199199
- name: Set up Python ${{ matrix.python-version }}
@@ -233,7 +233,7 @@ jobs:
233233
- name: Set up Python
234234
uses: actions/setup-python@v5
235235
with:
236-
python-version: 3.9
236+
python-version: "3.11"
237237

238238
- uses: actions/checkout@v4
239239
- run: git fetch --prune --unshallow
@@ -282,7 +282,7 @@ jobs:
282282
- name: Set up Python
283283
uses: actions/setup-python@v5
284284
with:
285-
python-version: 3.9
285+
python-version: "3.11"
286286

287287
- uses: actions/checkout@v4
288288
- run: git fetch --prune --unshallow

.github/workflows/test_python_ver_matrix.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
strategy:
2626
fail-fast: false
2727
matrix:
28-
python-version: ['3.9', '3.10', '3.11', '3.12']
28+
python-version: ['3.10', '3.11', '3.12']
2929
experimental: [false]
3030

3131
steps:

.github/workflows/test_sbml_semantic_test_suite.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
matrix:
3030
cases: ["1-250", "251-500", "501-750", "751-1000",
3131
"1000-1250", "1251-"]
32-
python-version: [ "3.9" ]
32+
python-version: [ "3.11" ]
3333

3434
steps:
3535
- name: Set up Python ${{ matrix.python-version }}

.github/workflows/test_valgrind.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818

1919
strategy:
2020
matrix:
21-
python-version: [ "3.9" ]
21+
python-version: [ "3.11" ]
2222

2323
env:
2424
ENABLE_AMICI_DEBUGGING: "TRUE"
@@ -57,7 +57,7 @@ jobs:
5757

5858
strategy:
5959
matrix:
60-
python-version: [ "3.9" ]
60+
python-version: [ "3.11" ]
6161

6262
env:
6363
ENABLE_AMICI_DEBUGGING: "TRUE"

.github/workflows/test_windows.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727

2828
strategy:
2929
matrix:
30-
python-version: [ "3.9" ]
30+
python-version: [ "3.11" ]
3131

3232
steps:
3333
- name: Set up Python ${{ matrix.python-version }}

.pre-commit-config.yaml

+4-5
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# See https://pre-commit.com/hooks.html for more hooks
33
repos:
44
- repo: https://github.com/pre-commit/pre-commit-hooks
5-
rev: v4.4.0
5+
rev: v4.6.0
66
hooks:
77
- id: check-added-large-files
88
- id: check-merge-conflict
@@ -12,7 +12,7 @@ repos:
1212
- id: trailing-whitespace
1313
- repo: https://github.com/astral-sh/ruff-pre-commit
1414
# Ruff version.
15-
rev: v0.1.11
15+
rev: v0.4.1
1616
hooks:
1717
# Run the linter.
1818
- id: ruff
@@ -28,10 +28,9 @@ repos:
2828
- python/sdist/pyproject.toml
2929

3030
- repo: https://github.com/asottile/pyupgrade
31-
rev: v3.15.0
31+
rev: v3.15.2
3232
hooks:
3333
- id: pyupgrade
34-
args: ["--py39-plus"]
35-
additional_dependencies: [pyupgrade==3.15.0]
34+
args: ["--py310-plus"]
3635

3736
exclude: '^(ThirdParty|models)/'

CHANGELOG.md

+34-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,42 @@
22

33
## v0.X Series
44

5+
### v0.25.0 (2024-05-TBD)
6+
7+
This release requires Python >= 3.10.
8+
9+
**Fixes**
10+
* Fixed a bug in event handling that could lead to incorrect simulation
11+
results for models with events that assign to compartments *and* have
12+
additional event assignments
13+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2428
14+
* SBML import: handle `useValuesFromTriggerTime` attribute on events.
15+
This attribute was previously ignored. It is possible that now AMICI fails
16+
to import models that it previously imported successfully. For cases where
17+
`useValuesFromTriggerTime=True` made a difference, AMICI might have produced
18+
incorrect results before.
19+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2429
20+
* Faster code generation for models with events if they don't have
21+
state-dependent triggers
22+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2417
23+
* Most warnings now come with a more informative code location
24+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2421
25+
* `amici.ExpData` was changed so that `isinstance(edata, amici.ExpData)` works
26+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2396
27+
28+
**Features**
29+
* Event-assignments to compartments are now supported. Previously, this only
30+
worked for compartments that were rate rule targets.
31+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2425
32+
* Releases are now deployed to Docker Hub
33+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2413
34+
35+
**Full Changelog**: https://github.com/AMICI-dev/AMICI/compare/v0.24.0...v0.25.0
36+
537
### v0.24.0 (2024-04-22)
638

739
This will be the last release supporting Python 3.9.
8-
Future releases will require Python 3.10.
40+
Future releases will require Python>=3.10.
941

1042
**Fixes**
1143

@@ -27,7 +59,7 @@ Future releases will require Python 3.10.
2759
the correct SUNDIALS installation
2860
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2397
2961

30-
* **Features**
62+
**Features**
3163

3264
* Optionally include measurements in `plot_observable_trajectories`
3365
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2381

documentation/conf.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -558,15 +558,15 @@ def fix_typehints(sig: str) -> str:
558558
sig = sig.replace("sunindextype", "int")
559559
sig = sig.replace("H5::H5File", "object")
560560

561-
# remove const
562-
sig = sig.replace(" const ", r" ")
563-
sig = re.sub(r" const$", r"", sig)
561+
# remove const / const&
562+
sig = sig.replace(" const&? ", r" ")
563+
sig = re.sub(r" const&?$", r"", sig)
564564

565565
# remove pass by reference
566566
sig = re.sub(r" &(,|\))", r"\1", sig)
567567
sig = re.sub(r" &$", r"", sig)
568568

569-
# turn gsl_spans and pointers int Iterables
569+
# turn gsl_spans and pointers into Iterables
570570
sig = re.sub(r"([\w.]+) \*", r"Iterable[\1]", sig)
571571
sig = re.sub(r"gsl::span< ([\w.]+) >", r"Iterable[\1]", sig)
572572

documentation/gfx/amici_workflow.png

-2.22 KB
Loading

0 commit comments

Comments
 (0)