pyABC uses SQL databases for long-term storage of simulation and logging data, thus allowing to analyze and share results later.
An overview of what can be stored, and how to query the database, is given in the Data store API documentation.
Export the database to other formats
pyABC ships with a small convenience utility that allows to export the SQL databases to other formats. Supported formats are:
An example call might look as follows:
abc-export --db results.db --out exported.feather --format feather
This exports the database “results.db” generated by pyABC to
which is written in in the feather format as indicated by the option
--format feather (the file extension of the exported file is not
abc-export --help for further options to customize the export.
While we try to avoid it, sometimes changes to pyABC’s storage format are
unavoidable. In such cases, we try to provide correct migration of outdated
databases to the new format, or in general across versions. If a database
is outdated, pyABC will complain when trying to import it via the
We use Alembic to migrate our SQLAlchemy based databases. Install it via:
pip install pyabc[migrate]
To migrate a database, run:
abc-migrate --src=SOURCE.db --dst=DESTINATION.db
SOURCE.db the name of the current outdated file, and
DESTINATION.db the name of the generated migrated file
(we recommend using a different file).
abc-migrate --help for further information.