Sacred v0.7.0 Release Notes
Release Date: 2017-05-07 // about 7 years ago-
๐ Major feature release that breaks backwards compatibility in a few cases.
- ๐ Feature: host info now contains information about NVIDIA GPUs (if available)
- ๐ Feature: git integration: sacred now collects info about the git repository
of the experiment (if available and if gitpython is installed) - ๐ Feature: new
--enforce-clean
flag that cancels a run if the
git repository is dirty - ๐ Feature: added new TinyDbObserver and TinyDbReader (thanks to @MrKriss)
- ๐ Feature: added new SqlObserver
- ๐ Feature: added new FileStorageObserver
- ๐ Feature: added new SlackObserver
- ๐ Feature: added new TelegramObserver (thanks to @black-puppydog)
- ๐ Feature: added save_config command
- ๐ Feature: added queue flag to just queue a run instead of executing it
- ๐ Feature: added TimeoutInterrupt to signal that a run timed out
- ๐ Feature: experiments can now be run in Jupyter notebook, but will fail with
0๏ธโฃ an error by default, which can be deactivated using interactive=True - ๐ Feature: allow to pass unparsed commandline string to
ex.run_commandline
. - ๐ Feature: improved stdout/stderr capturing: it now also collects non-python
๐ฒ outputs and logging. - ๐ Feature: observers now share the id of a run and it is available during
โ runtime asrun._id
. - ๐ Feature: new
--print_config
flag to always print config first - ๐ Feature: added sacred.SETTINGS as a place to configure some of the behaviour
- ๐ Feature: ConfigScopes now extract docstrings and line comments and display
๐จ them when callingprint_config
- ๐ Feature: observers are now run in order of priority (settable)
- ๐ Feature: new
--name=NAME
option to set the name of experiment for this run - ๐ Feature: the heartbeat event now stores an intermediate result (if set).
- ๐ Feature: ENVIRONMENT variables can be captured as part of host info.
- Feature: sped up the applying_lines_and_backfeeds stdout filter. (thanks to @remss)
- ๐ Feature: adding resources by name (thanks to @d4nst)
- API Change: all times are now in UTC
- API Change: significantly changed the mongoDB layout
- API Change: MongoObserver and FileStorageObserver now use consecutive
integers as _id - 0๏ธโฃ API Change: the name passed to Experiment is now optional and defaults to the
name of the file in which it was instantiated.
(The name is still required for interactive mode) - API Change: Artifacts can now be named, and are stored by the observers under
that name. - ๐ API Change: Experiment.run_command is deprecated in favor of run, which now
also takes a command_name parameter. - API Change: Experiment.run now takes an options argument to add
commandline-options also from python. - API Change: Experiment.get_experiment_info() now returns source-names as
relative paths and includes a separate base_dir entry - Dependencies: Migrated from six to future, to avoid conflicts with old
preinstalled versions of six. - ๐ Bugfix: fixed a problem when trying to set the loglevel to DEBUG
- ๐ Bugfix: type conversions from None to some other type are now correctly ignored
- ๐ Bugfix: fixed a problem with stdout capturing breaking tools that access
certain attributes ofsys.stdout
orsys.stderr
. - ๐ Bugfix: @main, @automain, @command and @capture now support functions with
๐ Python3 style annotations. - ๐ Bugfix: fixed a problem with config-docs from ingredients not being propagated
- ๐ Bugfix: fixed setting seed to 0 being ignored