Sumatra 0.8.0 release notes¶
18th April 2025
It is almost ten years since the last release of Sumatra!
In part this is because Sumatra 0.7.4 was stable, and seemed to meet the needs of its users, in part it is because the main developer was working on other scientific software, for which he got funding!
The usefulness of Sumatra has not diminished in this time, however; if anything, the need for carefully keeping track of project dependencies has only increased, as the pace of development in scientific software ecosystems has accelerated.
This release of Sumatra has been updated to support more recent versions of Python and other dependencies, particularly Django. We have dropped support for Python 2.7, and formally only support Python 3.9 or later. In addition, it includes various features and bug-fixes that were implemented in the months and years following the 0.7.4 release, but that have not been released until now.
MySQL/MariaDB support¶
You can now use MySQL and MariaDB databases as record stores, in addition to the existing SQLite and PostgrSQL support.
You will need to first create an empty database, then either in smt init or smt configure,
set --store=mysql://<username>:<password>@<host>:<port>/<db_name>.
Web GUI (smtweb) improvements¶
Added a button to show the script used in a specific record, opens in a new browser window.
Added an “image view” option to the record list, which lets you visualize any images found in your output data.
The record comparison view now shows line-by-line differences in scripts
Command-line improvements¶
To
smt list, added display options--output_table, which lists output files, and--parameter_table, which shows parameter values in the list of records.Also in
smt_list, added filtering options--main-file,--parametersand--date.Added an
smt viewcommand, which shows details of an individual record.To
smt run, added an option--ignore-parametersto turn off any attempt to parse command-line files as parameter files.
Status tracking¶
When running jobs, the record is now automatically tagged with a status that progresses through “_initialized_”, “_pre_run_”, and “_running_”. Upon completion, the status will be set to “_finished_” or “_failed_”. If the status is _failed_, the outcome field will reflect the return code. If you terminate the run early with control-C, the status will be “_killed_”. You can manually set the status of a simulation record to “_succeeded_” or “_crashed_”.
Testing¶
Some of the functionality of the Web GUI (smtweb) is now tested using Selenium.
Switched from nose to pytest, and from Travis CI to GitHub Actions.
Acknowledgements¶
Andrew Davison, Sebastian Spreizer, Alexandre René, Maximilian Albert, Tim Tröndle, Jonathan Guyer, Shahriar Heidrich, David Kleiven, Dan Padilha, Simon Chabot, and @maharjun contributed to this release of Sumatra.