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 as run._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 calling print_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 of sys.stdout or sys.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