Skip to content

Commit 39afcef

Browse files
authored
Update changelog, bump version (#3134)
* doc: Update changelog * 1.0.0
1 parent 669300a commit 39afcef

2 files changed

Lines changed: 56 additions & 33 deletions

File tree

CHANGELOG.md

Lines changed: 55 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,26 @@ See also our [versioning policy](https://amici.readthedocs.io/en/latest/versioni
88

99
**BREAKING CHANGES**
1010

11-
* The package has been reorganized. All importers have been moved to
12-
`amici.importers` subpackages. For example, all functionality from
13-
`amici.sbml_import` is now available in `amici.importers.sbml`.
11+
*Removed functionality*
12+
13+
The following functionality has been removed without replacement:
14+
15+
* The complete MATLAB interface has been removed.
16+
* `amici.sbml_import.species_to_parameters` has been removed.
17+
18+
*API changes*
19+
20+
* For a more consistent API, all function names are now `snake_case` instead of
21+
`camelCase`.
22+
* The package has been reorganized.
23+
* All importers have been moved to `amici.importers` subpackages.
24+
For example, all functionality from `amici.sbml_import` is now available in
25+
`amici.importers.sbml`.
26+
* All simulation-related functionality has been moved to `amici.sim.sundials`
27+
for the SUNDIALS interface, and `amici.sim.jax` for the JAX interface.
28+
* A number of functions and modules have been made private
29+
(i.e., their name starts with `_` or they are excluded from `__all__`),
30+
as they are not intended for public use and may change without deprecation.
1431
* The naming of free and fixed parameters has been harmonized across the API:
1532
AMICI differentiates between parameters with respect to which a model
1633
can compute sensitivities ("free parameters") and parameters with respect to
@@ -37,21 +54,16 @@ See also our [versioning policy](https://amici.readthedocs.io/en/latest/versioni
3754
* `assignmentRules2observables` has been renamed to
3855
`assignment_rules_to_observables` and now returns `list[MeasurementChannel]`
3956
to be passed to the import functions.
40-
* `assignmentRules2observables` has been renamed to
41-
`assignment_rules_to_observables` and now returns `list[MeasurementChannel]`
42-
to be passed to the import functions.
4357
* `AmiVector::getLength` and `AmiVectorArray::getLength` have been renamed to
4458
`size` to be more consistent with STL containers.
4559
* `amici.petab.petab_import.import_model` has been removed.
46-
Use `amici.petab.petab_import.import_model_sbml` instead.
47-
(The former was just an alias for the latter.)
48-
* For a more consistent API, all function names are now snake_case instead of
49-
camelCase.
50-
* `Model.getSolver` has been renamed to `Model.create_solver`.
60+
Use `amici.importers.petab.v1.import_petab_problem` instead.
61+
* `Model.getSolver` has been renamed to `Model.create_solver`,
62+
emphasizing that a new `Solver` instance is created on each call.
5163
* `amici.runAmiciSimulation` and `amici.runAmiciSimulations` have been renamed
52-
to `amici.run_simulation` and `amici.run_simulations`.
64+
to `amici.sim.sundials.run_simulation` and
65+
`amici.sim.sundials.run_simulations`, respectively.
5366
* The following deprecated functionality has been removed:
54-
* The complete MATLAB interface has been removed.
5567
* `NonlinearSolverIteration::functional` has been removed,
5668
use `NonlinearSolverIteration::fixedpoint` instead.
5769
* The deprecated argument `log_as_log10` to `SbmlImporter.sbml2amici` and
@@ -62,8 +74,6 @@ See also our [versioning policy](https://amici.readthedocs.io/en/latest/versioni
6274
modules.
6375
* The `force_compile` argument to `import_petab_problem` has been removed.
6476
See the `compile_` argument.
65-
* Removals without deprecation:
66-
* `amici.sbml_import.species_to_parameters` has been removed.
6777
* Model output directory keyword arguments have been harmonized:
6878
What was previously `model_output_dir`, `output_dir`, `outdir` is now
6979
consistently called `output_dir` across the API.
@@ -72,47 +82,60 @@ See also our [versioning policy](https://amici.readthedocs.io/en/latest/versioni
7282

7383
**Features**
7484

75-
* Experimental support for the PEtab data format v2.0.0 (draft, see
76-
https://petab.readthedocs.io/en/latest/v2/documentation_data_format.html)
77-
for SBML- and PySB-based problems (see `amici.petab.petab_importer`). The API is subject to change.
85+
* Support for the PEtab data format v2.0.0
86+
([draft](https://petab.readthedocs.io/en/latest/v2/documentation_data_format.html))
87+
for the JAX and SUNDIALS interfaces.
88+
89+
See `amici.importers.petab.PetabImporter` and examples for
90+
[JAX](https://amici.readthedocs.io/en/latest/examples/example_jax_petab/ExampleJaxPEtab.html)
91+
and [SUNDIALS](https://amici.readthedocs.io/en/latest/examples/example_petab/petab_v2.html).
92+
93+
For JAX-based models, the interface can be considered stable;
94+
for SUNDIALS-based models, the API may still change.
7895

79-
* Current limitations for PySB-based PEtab problems:
80-
* Only species and `pysb.Expression` are supported as condition table
81-
targets.
96+
SBML- and PySB-based PEtab problems are currently supported.
97+
For PySB-based PEtab problems, only species and `pysb.Expression` are
98+
supported as condition table targets (i.e., no parameters yet).
8299

100+
PEtab v1 import for SUNDIALS-based models is still available via
101+
`amici.importers.petab.v1`. Once PEtab v2 import has been stabilized,
102+
PEtab v1 import for SUNDIALS-based models will be removed.
83103
* Many relevant `ReturnData` fields are now available as `xarray.DataArray`
84104
via `ReturnData.xr.{x,y,w,x0,sx,...}`.
85105
`DataArray`s include the identifiers and are often more convenient than the
86106
plain numpy arrays. This allows for easy subselection and plotting of the
87107
results, and conversion to DataFrames.
88108
* `Model.simulate()` has been added as a convenience function to run
89109
simulations without having to create a `Solver` object explicitly.
90-
This is a wrapper for both `amici.run_simulation` and
91-
`amici.run_simulations`, depending on the type of the `edata` argument.
110+
This is a wrapper for both `amici.sim.sundials.run_simulation` and
111+
`amici.sim.sundials.run_simulations`,
112+
depending on the type of the `edata` argument.
92113
It also supports passing some `Solver` options as keyword arguments.
93-
* Improved `pickle` support for `amici.{Model,ModelPtr,Solver,ExpData`.
114+
This is intended for interactive use; for better full control and
115+
performance, it is still recommended to create a `Solver` object and call
116+
`amici.sim.sundials.{run_simulation,run_simulations}` directly.
117+
* Improved `pickle` support for
118+
`amici.sim.sundials.{Model,ModelPtr,Solver,ExpData}`.
94119
Note that AMICI's pickling support is only intended for short-term storage
95120
or inter-process communication.
96121
Reading pickled objects after updating AMICI or the model code will almost
97122
certainly fail.
98-
* `amici.Model`and `amici.ModelPtr` now support sufficient pickling for use
99-
in multi-processing contexts. This works only if the amici-generated model
123+
* `Model`and `ModelPtr` now support sufficient pickling for use
124+
in multiprocessing contexts. This works only if the amici-generated model
100125
package exists in the same file system location and does not change until
101126
unpickling.
102-
* `amici.Solver` is now picklable if amici was built with HDF5 support.
127+
* `Solver` is now picklable if amici was built with HDF5 support.
103128
This only works on shared file systems, as the solver state is stored in a
104129
temporary HDF5 file.
105-
* `amici.ExpData` is now picklable.
106-
* Implemented support for the [PEtab SciML](https://github.com/PEtab-dev/petab_sciml)
107-
extension for the JAX interface.
130+
* `ExpData` is now picklable.
108131
* The import function `sbml2amici`, `pysb2amici`, and `antimony2amici` now
109132
return an instance of the generated model class if called with `compile=True`
110133
(default).
111134
* The default directory for model import changed, and a base directory
112135
can now be specified via the `AMICI_MODELS_ROOT` environment variable.
113136
See `amici.get_model_dir` for details.
114-
* IDs and names of model entities are now not only accessible via `Model`, but
115-
also via `ReturnData`
137+
* IDs and names of model entities are now not only accessible via
138+
`amici.sim.sundials.Model`, but also via `amici.sim.sundials.ReturnData`
116139
(`ReturnData.{free_parameter_ids,observable_ids,...}`,
117140
`ReturnData.{free_parameter_names,observable_names,...}`).
118141

version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.0.0.dev
1+
1.0.0

0 commit comments

Comments
 (0)