Skip to content

Releases: ORNL/curifactory

v0.20.1

02 Feb 15:34

Choose a tag to compare

Fixed

  • Recursive hash issues in curifactory.experimental artifact

v0.20.0

29 Jan 16:56

Choose a tag to compare

Added

  • Experimental new API added via the curifactory.experimental module.
    This API is more pipeline and artifact centric, fixing many of the
    longstanding design issues and painpoints that the current API has. Once the
    experimental version is stabilized, it will become the new main curifactory
    module, and the current API will live for a few additional versions under
    curifactory.old.
  • cf CLI tool to use the experimental API

Changed

  • Supported python versions to match current non-EOL (dropped 3.9)

v0.19.0

20 Jul 14:42

Choose a tag to compare

Added

  • A --no-report flag to suppress output report generation
  • A --paths flag to print out all involved artifact file paths in the cache
    for a run.
  • More informative error handling during loading a metadata file should it fail
    to parse.

v0.18.0

09 Oct 21:45

Choose a tag to compare

Added

  • An ImageReporter for adding any generated and saved images into the output report.
  • A LatexTableReporter for adding a latex string version of a dataframe in the report.

v0.17.1

07 Dec 13:14

Choose a tag to compare

Added

  • Link to the output log in generated reports.

Changed

  • --print-params output is now conditioned on --verbose: whether specifying
    a hash directly or the flag by itself, the _DRY_REPS will be included when
    --verbose is specified and removed when not.

Fixed

  • Excessive "no run info" warnings from caching when running an experiment
    notebook.
  • run_experiment incorrectly handling a param_files of None.

v0.17.0

16 Nov 21:09

Choose a tag to compare

Added

  • Templating/keyword formating for cacher path overrides. This allows overriding
    cacher paths (at the expense of automatically not tracking them) to specify
    paths outside of the cache folder or directly including parameters in the
    filename etc.
  • PathRef cacher, a special type of cacher that allows exclusively passing around
    paths and short-circuiting directly based on that path's existence (as opposed
    to the FileReferenceCacher which saves a file containing the path), rather
    than handling saving/loading itself.
  • --hashes debugging flag, when specified it prints out the hash and name of
    each parameter set passed into an experiment and then exits.
  • --print-params debugging flag, when specified it prints out the full string
    representation of each parameter set passed into an experiment, or, if at
    least the first few characters of a hash are specified, it prints out the
    corresponding parameter set hash from the params_registry.json. Note that
    both this and the --hashes flag are temporary debugging tools until the CLI
    gets broken out into subcommands, where they may become part of a separate
    command.

Fixed

  • --notebook manager's not using modified experiment cache paths.
  • Manager maps are disabled after a run_experiment call, so managers used in
    live contexts (e.g. notebooks) may continue to run stages after the experiment
    has completed.
  • Experiments generating multiple reports instead of just once and
    linking/copying the folders as necessary.

Removed

  • Old ExperimentArgs references and associated deprecation warnings.

v0.16.1

23 Oct 21:05

Choose a tag to compare

Fixed

  • Accidental singleton cacher objects in stage decorators causing all DAG-mode
    reproduction artifacts to always show as the artifacts from the first record.

v0.16.0

16 Oct 21:12

Choose a tag to compare

Added

  • Optional dependency curifactory[h5] (pytables, for h5 pandas cacher) to setup.
  • Ability to configure whether non-curifactory logs are silenced with
    --all-loggers flag.

Changed

  • Repr for Lazy objects, so OutputSignatureErrors don't just list pointer addresses.
  • Procedures initialized without an artifact manager don't auto-create one.
    Instead, the procedure.run() function now optionally takes a manager and
    records list.

Fixed

  • Lazy instance cached from previous run not displaying correct preview in detailed report map.
  • Experiment run spewing out command error if running from non-git-repo. (Single line
    warning is now displayed instead.)
  • Raising InputSignatureError for potentially unrelated TypeErrors raised within stages.
  • Completer parsing for experiments and parameters on MacOS.
  • generate_report() calls inside an experiment run() breaking in map mode.
  • Fallback package report CSS not being used if report path has no style.css.

v0.15.1

09 Aug 19:34

Choose a tag to compare

Added

  • Hash dry representation output to params registry, to help debug hashing.

Fixed

  • Spacing issue around parameter set list in generated notebook.
  • Extra metadata not grabbed in save_metadata if metadata had already been collected.

v0.15.0

01 Aug 18:08

Choose a tag to compare

The args -> params naming convention change will eventually cause breaking changes (currently args references should just trigger a deprecation warning.) See the migration guide for details on how to remove: https://ornl.github.io/curifactory/latest/migration.html

Added

  • PandasCacher as a more generalized variant of PandasCsvCacher and
    PandasJsonCacher, supporting much more of the IO types pandas supports.

Changed

  • args.ExperimentArgs to params.ExperimentParameters (former still exists with deprecation warning.)
  • Record.args to Record.params (former still exists with deprecation warning.)
  • Organization in examples directory.

Fixed

  • None extension for cacher not correctly handled in get_path.
  • Generated experiment notebook not reference correct cache path for artifacts on store full runs.
  • set_logging_prefix incorrectly handling global logging scope (which can lead
    to recursion errors.)