Recent Releases of lab

lab - v8.4 (2025-02-11)

Lab

  • Allow fetching from compressed properties files (Jendrik Seipp).
  • Use absolute paths in Slurm scripts to safeguard against .bashrc changing directories (Jendrik Seipp).
  • Use 9 GiB memory limit for Slurm jobs on Tetralith by default (Jendrik Seipp).
  • Revise documentation about memory limits (Jendrik Seipp).
  • Remove soft memory limit from Slurm jobs that used to guard against an old problem of the cgroup mechanism failing (Jendrik Seipp).
  • Remove documentation about obsolete infai_1 partition in Basel (Florian Pommerening).
  • Add SlurmEnvironment.is_present() method for testing whether the script is run within a given grid environment (Jendrik Seipp).
  • Raise minimum supported Python version to 3.8 (Jendrik Seipp).

Downward Lab

  • Add add_compress_exp_dir_step() to example Fast Downward experiment (Jendrik Seipp).

- Python
Published by jendrikseipp about 1 year ago

lab - v8.3 (2024-10-22)

Lab

  • Add support for Python 3.12 and 3.13 (Jendrik Seipp).
  • Run parser functions in run directories (Jendrik Seipp).
  • Open run.log and run.err in binary mode to avoid decoding byte strings (Jendrik Seipp).

Downward Lab

  • Gracefully handle missing planner exit codes in driver.log (Jendrik Seipp).

- Python
Published by jendrikseipp over 1 year ago

lab - v8.2 (2024-05-06)

Lab

  • Gracefully handle programs that write garbled output by replacing problematic characters (Jendrik Seipp).
  • Add parsing errors to properties file directly instead of writing them to stderr (Jendrik Seipp).
  • Remove special treatment of Slurm "memory cg" errors, since they don't seem to occur anymore (Jendrik Seipp).
  • Raise an error if a run command calls a global Python interpreter directly, because this would bypass the virtual environment (Jendrik Seipp).

Downward Lab

  • Group rows in unexplained errors table by error message (Jendrik Seipp).

- Python
Published by jendrikseipp almost 2 years ago

lab - v8.1 (2024-02-28)

Lab

  • Allow passing properties files to fetchers directly (Jendrik Seipp).
  • Let fetch and report steps log only the total number of unexplained errors instead of printing all of them to stderr (Jendrik Seipp).
  • Let parsers print an error if the file for a required pattern is missing. Call parser functions with empty string for missing files (Silvan Sievers).
  • Raise an error if a run command calls a Python script directly, because this would bypass the virtual environment (Jendrik Seipp).
  • Make HTML table headers sticky (Jendrik Seipp).

Downward Lab

  • None.

- Python
Published by jendrikseipp about 2 years ago

lab - v8.0 (2023-10-21)

Lab

  • Make parsing a separate experiment step, see FAQs for motivation and upgrade instructions (Jendrik Seipp).

- Python
Published by jendrikseipp over 2 years ago

lab - v7.5 (2023-10-21)

Lab

  • Provide support for HTCondor clusters in a third-party repository and add link to docs (Martín Pozo).
  • Add documentation for AI Basel's infai_3 partition (Silvan Sievers).
  • Don't rely on the existence of the 'runs-00001-00100' dir when fetching results (Jendrik Seipp).

Downward Lab

  • None.

- Python
Published by jendrikseipp over 2 years ago

lab - v7.4 (2023-08-18)

Lab

  • Require revision_cache parameter in CachedRevision constructor (Jendrik Seipp).
  • Add subdir option for CachedRevision to support solvers at deeper levels of a repo (Jendrik Seipp).
  • Add CachedRevision.get_relative_exp_path() method to query where cache artefacts will land in the experiment directory (Jendrik Seipp).
  • Document CachedRevision class and stabilize its API (Jendrik Seipp).
  • Only use documented classes and functions in example experiments (Jendrik Seipp).

Downward Lab

  • Add subdir option for CachedFastDownwardRevision to support Fast Downward checkouts at deeper levels of a repo (Jendrik Seipp).
  • Make FastDownwardAlgorithm>, FastDownwardRun and CachedFastDownwardRevision classes part of the documented, stable API (Jendrik Seipp).
  • Describe two main alternatives for running Fast Downward experiments (Jendrik Seipp).

- Python
Published by jendrikseipp over 2 years ago

lab - v7.3 (2023-03-03)

Lab

  • Transparently handle xz-compressed properties files (Jendrik Seipp).
  • Add CI tests for Python 3.11 (Jendrik Seipp).

Downward Lab

  • Adapt code for Matplotlib version 3.7 (Jendrik Seipp).

- Python
Published by jendrikseipp about 3 years ago

lab - v7.2 (2022-10-09)

Lab

  • Raise minimum supported Python version to 3.7 (Jendrik Seipp).
  • Add support for Python 3.10 (Jendrik Seipp).
  • Apply parsing functions in the order in which they were added (Jendrik Seipp).
  • For contributors: document pre-commit hook in CONTRIBUTING.md file (Jendrik Seipp).

Downward Lab

  • Parse peak memory in anytime search parser (Jendrik Seipp).
  • Only store "plannermemory" and "plannertime" attributes for successful planner runs (Jendrik Seipp).
  • Add fully customizable example planner experiment without FastDownwardExperiment class (Jendrik Seipp).
  • Show how to group domain directories in example Fast Downward experiment (Jendrik Seipp).

- Python
Published by jendrikseipp over 3 years ago

lab - v7.1 (2022-06-20)

Lab

  • Revamp Singularity example experiment: use runsolver to limit resource usage (Silvan Sievers and Jendrik Seipp).

Downward Lab

  • Fix header sizes in HTML reports (Jendrik Seipp).
  • Include domains in attribute overview tables even if none of their tasks has an attribute value for all algorithms (Jendrik Seipp).
  • Compute "scoreplannertime" and "scoreplannermemory" attributes in planner parser (Jendrik Seipp).
  • Only consider files ending with ".pddl" and ".sas" when building suites (Jendrik Seipp).
  • Explicitly left-align non-numeric cells to avoid \multicolumn entries in Latex output (Jendrik Seipp).

- Python
Published by jendrikseipp over 3 years ago

lab - v7.0 (2021-10-24)

Lab

  • Remove support for Mercurial repositories (Jendrik Seipp).

Downward Lab

  • Fix rules for finding domain files for airport domain (Silvan Sievers).
  • Add more ticks on y axis in relative plots (Jendrik Seipp).

- Python
Published by jendrikseipp over 4 years ago

lab - v6.5 (2021-09-27)

Lab

  • Allow rerunning experiments. This is useful if some runs were never started, for example, due to grid node failures. All runs that have already been started are skipped. For more information see the corresponding FAQ (Jendrik Seipp).

Downward Lab

  • Slightly generalize rules for finding domain files, adapted from Fast Downward (Silvan Sievers).

- Python
Published by jendrikseipp over 4 years ago

lab - v6.4 (2021-07-06)

Lab

  • Add TetralithEnvironment for the NSC cluster in Linköping (Jendrik Seipp).
  • Automatically group multiple runs into one Slurm task when the number of runs exceeds the maximum number of Slurm tasks (Jendrik Seipp).
  • Add time_limit_per_task parameter to SlurmEnvironment (Jendrik Seipp).
  • Add cpus_per_task parameter to SlurmEnvironment (#98, Lucas Galery Käser).
  • Catch OverflowError when casting large ints to floats (#95, Silvan Sievers).

Downward Lab

  • None.

- Python
Published by jendrikseipp over 4 years ago

lab - v6.3 (2021-02-14)

Lab

  • Use long Git revision hashes for revision cache. The short ones differ in length between Git versions (Jendrik Seipp).
  • Run continuous integration tests for Python 3.9 (Jendrik Seipp).

Downward Lab

  • Remove "revision_summary" column from info table (Jendrik Seipp).

- Python
Published by jendrikseipp about 5 years ago

lab - v6.2 (2020-10-20)

Lab

  • Reports: round values to desired precision before determining colors (Jendrik Seipp).
  • Restructure and extend documentation (Jendrik Seipp).
  • For developers: run CI tests on Ubuntu 20.04 in addition to 18.04 (Jendrik Seipp).

Downward Lab

  • Allow adding SAS+ files with FastDownwardExperiment.add_suite() (Jendrik Seipp).

- Python
Published by jendrikseipp over 5 years ago

lab - v6.1 (2020-09-15)

Lab

  • Take float precision into account when highlighting table cells (Jendrik Seipp).
  • Allow serializing pathlib.Path objects into JSON files (Jendrik Seipp).
  • For developers: add .github/CONTRIBUTING.md file (Jendrik Seipp).
  • For developers: separate tests for Singularity and FF example experiments from other tests (Jendrik Seipp).
  • For developers: skip cached_revision doctests if DOWNWARD_REVISION_CACHE variable is not set (Jendrik Seipp).
  • For developers: use f-strings in code (Jendrik Seipp).

Downward Lab

  • Print number of tasks above and below separator lines in scatter plots (Jendrik Seipp).
  • Ignore tasks for which runs have been filtered out in aggregate reports (Jendrik Seipp).
  • Fix order of bracketed task counts per domain in table reports (Jendrik Seipp).
  • Gracefully handle empty scatter plots (Jendrik Seipp).
  • Make score_* attributes absolute, i.e., include tasks for which not all algorithms have a value in aggregations (Jendrik Seipp).

- Python
Published by jendrikseipp over 5 years ago

lab - v6.0 (2020-04-05)

Lab

  • Bump minimum Python version to 3.6.
  • Move CachedRevision from downward to lab package (Thomas Keller). Please note that the interface to the class is experimental and may change in the future. Feedback is welcome!
  • Let tests fail if any example experiment produces unexplained errors.

Downward Lab

  • No changes.

- Python
Published by jendrikseipp almost 6 years ago

lab - v5.5 (2020-03-13)

Lab

  • Sort numbers with suffixes (5K, 2M, 8G) and "infinity" correctly in tables.
  • Gracefully handle missing "info" or "summary" tables in HTML reports.
  • Abort if a function is passed to a filter_* kwarg.
  • Abort if a filter checks missing attribute names (e.g., when passing filter_algorithms instead of filter_algorithm).

Downward Lab

  • Add example experiment for running Singularity planner images.

- Python
Published by jendrikseipp almost 6 years ago

lab - v5.4 (2020-03-01)

Lab

  • Use newer txt2tags version and remove bundled copy.
  • Call parsers with active Python interpreter.
  • Don't call deprecated time.clock() (removed in Python 3.8).
  • Don't add Lab to PYTHONPATH in BaselSlurmEnvironment.

Downward Lab

  • Revision cache: only delete "misc" and "experiments" dirs if they exist (Maximilian Fickert).

- Python
Published by jendrikseipp about 6 years ago

lab - v4.2 (2019-09-27)

Lab

  • Upload to PyPI. Install Lab and Downward Lab with pip install lab.
  • Add support for running Lab in Python virtual environments (Guillem).
  • Parser scripts don't have to be executable anymore, but they must be Python scripts.

Downward Lab

  • Abort if two algorithms are identical, i.e., use the same revision, build config and commandline options.
  • Scatter plot report: include tasks for which both algorithms have no data if show_missing=True.

- Python
Published by jendrikseipp about 6 years ago

lab - v5.0 (2019-12-04)

Lab

  • Deprecate support for Python versions 2.7 to 3.5.
  • Allow only a single aggregation function for Attribute objects.
  • If there is only a single HTML table, show it when the page loads.
  • Remove broken --log-level command line parameter. You can call tools.configure_logging(logging.DEBUG) to enable debug messages instead.
  • Pass old hard memory limit when setting soft memory limit.

Downward Lab

  • Scatter plots:

    • Add relative parameter for drawing relative scatter plots.
    • Draw points for algorithm pairs with missing values on axis boundaries.
    • Allow drawing negative values on linear and symlog axes.
    • Remove xscale and yscale parameters in favor of a new scale parameter.
    • Fold PlotReport class into ScatterPlotReport.
    • Simplify code by letting Matplotlib compute axis limits automatically.

- Python
Published by jendrikseipp about 6 years ago

lab - v5.1 (2019-12-10)

Lab

  • Test Lab on Python 3.8.
  • Use active Python version to call run files in local experiments.

Downward Lab

  • Support Fast Downward Git repos (Patrick Ferber).

- Python
Published by jendrikseipp about 6 years ago

lab - v5.2 (2020-01-07)

Lab

  • Use line buffering for run.err files.

Downward Lab

  • Preserve line breaks for error logs in tables.
  • If an error log in a table has more than 100 lines, omit surplus lines from the middle of the log.
  • Always print the number of runs with unexplained errors when generating any type of report.

- Python
Published by jendrikseipp about 6 years ago

lab - v5.3 (2020-02-03)

Lab

  • Format source code with black (https://github.com/psf/black).
  • Fix filters: retrieve new run ID from modified runs (Silvan Sievers).

Downward Lab

  • Remove call to rm -f output.sas. Newer Fast Downward versions remove the temporary file automatically. If you want to keep the file, add "--keep-sas-file" to the driver_options.
  • Fix ScatterPlotReport: skip None values in max() computation (Silvan Sievers).
  • Fix ScatterPlotReport: place diagonal line correctly even if axis scales differ.

- Python
Published by jendrikseipp about 6 years ago