Skip to content

Commit 7cd81f1

Browse files
committed
doc: Update changelog
1 parent 0d7e49e commit 7cd81f1

1 file changed

Lines changed: 41 additions & 27 deletions

File tree

CHANGELOG.md

Lines changed: 41 additions & 27 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.
@@ -74,7 +84,8 @@ See also our [versioning policy](https://amici.readthedocs.io/en/latest/versioni
7484

7585
* Experimental support for the PEtab data format v2.0.0 (draft, see
7686
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.
87+
for SBML- and PySB-based problems (see `amici.petab.petab_importer`).
88+
The API is subject to change.
7889

7990
* Current limitations for PySB-based PEtab problems:
8091
* Only species and `pysb.Expression` are supported as condition table
@@ -87,32 +98,35 @@ See also our [versioning policy](https://amici.readthedocs.io/en/latest/versioni
8798
results, and conversion to DataFrames.
8899
* `Model.simulate()` has been added as a convenience function to run
89100
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.
101+
This is a wrapper for both `amici.sim.sundials.run_simulation` and
102+
`amici.sim.sundials.run_simulations`,
103+
depending on the type of the `edata` argument.
92104
It also supports passing some `Solver` options as keyword arguments.
93-
* Improved `pickle` support for `amici.{Model,ModelPtr,Solver,ExpData`.
105+
This is intended for interactive use; for better full control and
106+
performance, it is still recommended to create a `Solver` object and call
107+
`amici.sim.sundials.{run_simulation,run_simulations}` directly.
108+
* Improved `pickle` support for
109+
`amici.sim.sundials.{Model,ModelPtr,Solver,ExpData}`.
94110
Note that AMICI's pickling support is only intended for short-term storage
95111
or inter-process communication.
96112
Reading pickled objects after updating AMICI or the model code will almost
97113
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
114+
* `Model`and `ModelPtr` now support sufficient pickling for use
115+
in multiprocessing contexts. This works only if the amici-generated model
100116
package exists in the same file system location and does not change until
101117
unpickling.
102-
* `amici.Solver` is now picklable if amici was built with HDF5 support.
118+
* `Solver` is now picklable if amici was built with HDF5 support.
103119
This only works on shared file systems, as the solver state is stored in a
104120
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.
121+
* `ExpData` is now picklable.
108122
* The import function `sbml2amici`, `pysb2amici`, and `antimony2amici` now
109123
return an instance of the generated model class if called with `compile=True`
110124
(default).
111125
* The default directory for model import changed, and a base directory
112126
can now be specified via the `AMICI_MODELS_ROOT` environment variable.
113127
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`
128+
* IDs and names of model entities are now not only accessible via
129+
`amici.sim.sundials.Model`, but also via `amici.sim.sundials.ReturnData`
116130
(`ReturnData.{free_parameter_ids,observable_ids,...}`,
117131
`ReturnData.{free_parameter_names,observable_names,...}`).
118132

0 commit comments

Comments
 (0)