Releases: IDSIA/sacred
Releases · IDSIA/sacred
Release v0.8.7
Minor bugfix release, fixing an issue with the numpy 2.0 compatible changes from last release.
- Fix: Restore old behavior of is_different (#933, thanks @n-gao)
- Doc: Add Sacred to Gurubase (#935, @kursataktas)
Release v0.8.6
Release v0.8.5
Minor release with a few small fixes.
- Feature: Add setting for the default heartbeat interval
- Bugfix: Don't ignore non-loadable classes in config files (#902, thanks @ernestum)
- Bugfix: Fix an import error that made conda-forge build fail (#921, thanks @n-gao)
- Doc: Update CDE tool that doesn't exist anymore and fix starter example (#905, #906, thanks @zhimin-z)
Release v0.8.4
Minor release with a few small fixes.
- Update tests and supported python versions: sacred now officially supports Python 3.8-3.11 (#872, #892, thanks @jnphilipp)
- Feature: Allow type annotations in config scopes and future-proofing config scopes by using
ast
instead of a complex regex (thanks @vnmabus) - Feature: Expose
MongoClient
in theMongoObserver
(thanks @Gracecr) - Bugfix: Support new numpy versions by removing using Python builtin types instead of the
np.*
aliases (#870, thanks @Kaushalya) - Bugfix: Allow
*.ipynb
files as source files when run viaipython
in non-interactive mode - Internal: Add error causes for many errors in the codebase (#894, #898, thanks @cool-RR)
- Internal: Use GitHub Actions for tests instead of azure pipelines to gain more control (#896)
- Internal: Use GitHub Actions to automate releases on PyPI
Release 0.8.3
A minor release with many small improvements and support for Python 3.10.
- Feature: Support for the new numpy random API (
np.random.Generator
); deprecate oldnp.random.RandomState
for np 1.19+ (#779, thanks @jnphilipp) - Feature: Add
py.typed
file for typecheckers like mypy (#849, thanks @neophnx) - Feature: Validate sacred settings (#774)
- Feature: Update CLI options: Change run ID from command line (#798, thanks @jnphilipp)
- Feature: Log named configs and config updates (#823)
- Feature: Options to save sources and copy resources in FileStorageObserver (#806, thanks @patrick-kidger)
- Feature: Support for NVIDIA Multi-Instance GPU (#865, thanks @j3soon)
- Bugfix: Updated testcases to py3.6+; updated dependencies (e.g., tinydb 4+, pytest 6.2.1, pymongo 4.0) (#799, #819, #821, thanks a lot @jnphilipp)
- Bugfix: Fixes for handling symlinks (#791, thanks @MaxSchambach)
- Bugfix: Fix docker example (#829, thanks @ahallermed)
- Doc: Some fixes and update of the documentation (#778, #792, #793, #797, #804, #842, #856, thanks @daliasen @aaronsnoswell @schmitts @Blaizzy)
Release 0.8.2
Minor bugfix release that resolves some bugs for Python 3.8+ and issues with the read-only container types.
- Feature: Added support for pickling and YAML serialization to the read-only containers (#775, #737)
- Feature: Added git integration to SqlObserver (#741)
- Feature: Added support for a collection prefix in MongoObserver (#704)
- Bugfix: Fix
print_config
command for Python 3.8 (#719) - Bugfix: Fix
save_config
command (#765) - Bugfix: Named config updates are now distributed correctly during the configuration creation process (#769, #777)
- Bugfix: Parsing of the nvidia_smi output now also works with non-Unicode (e.g., Chinese) characters in process names (#776)
- Bugfix: Fix type annotations of MongoObserver (#762)
- Bugfix: Terminate tee on timeout. This is a workaround that prevents program crashes caused by output capturing (#740)
- Bugfix: Improve parsing of config scopes (#699, #764)
- Bugfix: Fix error tracking of
ConfigErrors
when raised in a config scope (#733) - Bugfix: Made git import optional (#724)
Release 0.8
Major release with several breaking changes.
- API change: Dropped support for Python 2
- API change: Gathering of git information gathering is now enabled by default #595
- API change: Switched constructor from Observer.create(...) to Observer(...) for all observers.
- API change: Changed the interface for collecting custom host-information #569
- API change: Changed interface for defining CLI options. #572
- Feature: Added new S3 file observer #542
- Feature: added
started_text
option to TelegramObserver #494 - Feature: added copy/deepcopy support to read-only containers #500
- Bugfix: FileStorage Observer is more reliable under parallel execution #503
- Bugfix: FileStorageObserver now raises an error when an artifact would overwrite an important file #647
- Bugfix: fixed inconsistent config nesting behavior #409 #505
- Bugfix: Several fixes for tensorflow integration
- Bugfix: Fixed crash due to missing brand-key on some machines # 512
- Internal: Migrated CI server to Azure
- Internal: Added pre-commit hooks for pep 8 checks and python black for automated code formatting
- Internal: Started using pathlib.Path instead of os.path in many places
Release 0.7.5
The last release to support Python 2.7.
- Feature: major improvements to error reporting (thanks @thequilo)
- Feature: added print_named_configs command
- Feature: added option to add metadata to artifacts (thanks @JarnoRFB)
- Feature: content type detection for artifacts (thanks @JarnoRFB)
- Feature: automatic seeding for pytorch (thanks @srossi93)
- Feature: add proxy support to telegram observer (thanks @brickerino)
- Feature: made MongoObserver fail dump dir configurable (thanks @JarnoRFB)
- Feature: added queue-based observer that better handles unreliable connections (thanks @JarnoRFB)
- Bugfix: some fixes to stdout capturing
- Bugfix: FileStorageObserver now creates directories only when starting a run (#329; thanks @thomasjpfan)
- Bugfix: Fixed config_hooks (#326; thanks @thomasjpfan)
- Bugfix: Fixed a crash when overwriting non-dict config entries with dicts (#325; thanks @thomasjpfan)
- Bugfix: fixed problem with running in conda environment (#341)
- Bugfix: numpy aware config change detection (#344)
- Bugfix: allow dependencies to be compiled libraries (thanks @jnphilipp)
- Bugfix: output colorization now works on 256 and 16 color terminals (thanks @bosr)
- Bugfix: fixed problem with tinydb observer logging (#327; thanks @michalgregor)
- Bugfix: ignore folders that have the same name as a named_config (thanks @boeddeker)
- Bugfix: setup no longer overwrites pre-configured root logger (thanks @thequilo)
- Bugfix: compatibility with tensorflow 2.0 (thanks @tarik, @gabrieldemarmiesse)
- Bugfix: fixed exception when no tee is available for stdout capturing (thanks @Greg-Farquhar)
- Bugfix: fixed concurrency issue with FileStorageObserver (thanks @dekuenstle)
Bugfix Release 0.7.4
Minor bugfix release that solves some issues with the interaction of ingredients and named configs.
- Bugfix: fixed problem with postgres backend of SQLObserver (thanks @bensternlieb)
- Bugfix: fixed a problem with the interaction of ingredients and named configs
- Feature: added metrics logging to the FileStorageObserver (thanks @ummavi)
Bugfix Release 0.7.3
Major bugfix release that fixes several critical issues including: experiments that sometimes didn't exit, racing conditions in the FileStorage and MongoObservers and several stdout-capturing problems.
- Feature: support custom experiment base directory (thanks @anibali)
- Feature: added option to pass existing MongoClient to MongoObserver (thanks @rueberger)
- Feature: allow setting the config docstring from named configs
- Feature: added py-cpuinfo as fallback for gathering CPU information (thanks @serv-inc)
- Feature: added support for _log argument in config function
- Bugfix: stacktrace filtering now correctly handles chained exceptions (thanks @kamo-naoyuki)
- Bugfix: resolved issue with stdout capturing sometimes loosing the last few lines
- Bugfix: fixed the overwrite option of MongoObserver
- Bugfix: fixed a problem with the heartbeat sometimes not ending
- Bugfix: fixed an error with running in interactive mode
- Bugfix: added a check for non-unique ingredient paths (thanks @boeddeker)
- Bugfix: fixed several problems with UTF-8 decoding (thanks @LukasDrude, @wjp)
- Bugfix: fixed nesting structure of _config (thanks @boeddeker)
- Bugfix: fixed crash when using git integration with empty repository (thanks @ramon-oliveira)
- Bugfix: fixed a crash with first run using sqlite backend
- Bugfix: fixed several problem with the tests (thanks @thomasjpfan)
- Bugfix: fixed racing condition in FileStorageObserver (thanks @boeddeker)
- Bugfix: fixed problem with overwriting named configs of ingredients (thanks @pimdh)
- Bugfix: removed deprecated call to inspect.getargspec()
- Bugfix: fixed problem with empty dictionaries disappearing from config updates and named configs (thanks @TomVeniat)
- Bugfix: fixed problem with commandline parsing when program name contained spaces
- Bugfix: loglevel option is now taken into account for config related warnings
- Bugfix: properly handle numpy types in metrics logging