Skip to content

Releases: glotzerlab/signac-flow

v0.21.0

18 Aug 18:20
11a6a58
Compare
Choose a tag to compare

Version 0.21

[0.21.0] -- 2022-08-18

Added

  • XSEDE Delta environment and template (#658).

Changed

  • Changed get_config_value template filter to error without default on missing key (#649).
  • Changed get_config_value template filter now takes a FlowProject as its first argument (#649).

Removed

  • Removed require_config_value template filter (#649).
  • Removed configuration key 'flow.import_packaged_environments' (#653).
  • Removed configuaration key 'flow.environment_modules' (#651).

v0.20.0

23 Jun 18:10
9563d14
Compare
Choose a tag to compare

Version 0.20

[0.20.0] -- 2022-06-23

Added

  • Added support to run aggregate operations in parallel (#642, #644).
  • Added an argument, run_options, to FlowProject.make_group which allows passing options to exec for operations running in a different process (#650).

Changed

  • Deprecated configuaration key 'flow.environment_modules' (#651).
  • Deprecated configuration key 'flow.import_packaged_environments' (#651).
  • Changed argument options to submit_options in FlowProject.make_group (#650).

Removed

  • Dropped support for cloudpickle versions below 1.6.0 (#644).
  • Removed upper bound on python_requires (#654).

v0.19.0

08 Apr 18:58
a1fce88
Compare
Choose a tag to compare

Version 0.19

This release changes the names of hook triggers and improves the behavior of progress bars in Jupyter notebooks. The minimum supported Python version is now 3.8.
We also welcome the first released contributions from @rohanbabbar04!

[0.19.0] -- 2022-04-07

Changed

  • Dropped support for tqdm versions older than 4.60.0 (#614).
  • Renamed hook triggers on_finish to on_exit and on_fail to on_exception (#612, #627).

Fixed

  • Progress bars shown in notebooks fall back to text-based output if ipywidgets is not available (#602, #614).

Removed

  • Internal utility functions have been removed from the public API (#615).
  • Dropped support for Python 3.6 and Python 3.7 following the recommended support schedules of NEP 29 (#628).
  • Dropped support for Jinja2 versions below 3.0.0 (#628).

v0.18.1

14 Feb 16:42
1156bdc
Compare
Choose a tag to compare

Version 0.18.1

Hey signac users, we fixed some bugs to make signac-flow work better for you. Happy Valentine's Day from the signac team! 🌹

[0.18.1] -- 2022-02-14

Fixed

  • Fixed bug in project status output when no operations are eligible (#607, #609).
  • Improved traceback handling for errors in signac-flow (#608).

v0.18.0

04 Feb 00:37
6ac8c06
Compare
Choose a tag to compare

Version 0.18

[0.18.0] -- 2022-02-03

Added

  • Feature to install execution hooks for the automated execution of functions with operations (#28, #189, #508).

Changed

  • Add user defined FlowGroups to status output (#547, #593).
  • Raise UserOperationError for failed execution of FlowProject operations (#571, #601).

Fixed

  • Fix issue with GPU submission on Bridges-2 (#588, #589).

v0.17.0

16 Nov 16:54
0707330
Compare
Choose a tag to compare

This release adds Python 3.10 support and addresses a couple bugs. Thanks to all the contributors in this release! 🎨

Version 0.17

[0.17.0] -- 2021-11-15

Added

  • Add official support for Python version 3.10 (#578).

Fixed

  • Scripts are now generated correctly when project path contains spaces and special characters (#572).
  • XSEDE Expanse template has been fixed to remove leading spaces (#575, #576).

Changed

  • FlowProject configuration is now validated independently of signac Project configuration (#573).
  • jsonschema is now a dependency (#573).

v0.16.0

20 Aug 22:05
4ac02c0
Compare
Choose a tag to compare

This release adds support for the XSEDE Expanse Cluster, simplifies user customization of templates, improves documentation, and fixes minor bugs. Thanks to everyone who contributed 🎨

Added

  • The --job-output command line flag for submission can be set for SLURM, PBS, and LSF schedulers (#550).
  • Added a custom_content block to templates for user customization (#553, #520).
  • Added official support for XSEDE Expanse cluster (#537).
  • Added FlowProjectDefinitionError for exceptions involving FlowProject definitions (#549).

Changed

  • Improved documentation of directives (#554).
  • Raise FlowProjectDefinitionError error for inaccurate FlowProject definitions (#549).

Removed

  • Removed deprecated environment classes (#556).
  • Removed support for signac < 1.3.0 (#558).
  • Removed support for decommissioned XSEDE Comet cluster (#537).
  • Removed --memory option from University of Michigan Great Lakes cluster submission. Use directives instead (#563).

v0.15.0

24 Jun 17:19
5e3dd6e
Compare
Choose a tag to compare

This release adds the ability for operations to operate on subset of jobs known as aggregates and improves submissions to HPC clusters. Thanks to @klywang as a first-time contributor for this release. 🎨

Added

  • Add support for aggregation (operations acting on multiple jobs) via flow.aggregator (#464, #516, #542).
  • Add official support for Andes cluster (#500).
  • Decorator for setting directives while registering operation function FlowProject.operation.with_directives (#309, #502).
  • Add new flow command flow template create for automatic creation of custom templates (#520, #534).

Changed

  • Jinja templates are indented for easier reading (#461, #495).
  • flow.directives is deprecated in favor of flow.FlowProject.operation.with_directives (#309, #502).
  • All environments require a scheduler in order to submit, even in pretend mode (#533).
  • Submitting in pretend mode will show additional scheduler command information (#533).
  • Support fractional timeout value in Python and command line interface (#541).

Fixed

  • Errors raised during submission were not being shown to users (#517, #518).
  • Fixed dependency flag for SLURM submissions (#530, #531).

0.14.0

27 Apr 20:14
620b34f
Compare
Choose a tag to compare

This release improvements to status output, documentation on directives, and fixed regressions in version 0.13. Thanks to @Charlottez112 as a first time contributor and the other 4 people who contributed code for this release. 🎨

Added

  • Documentation for all directives (#480).
  • Defined validators for the fork directive (#480).
  • Submission summary now appears in FlowProject status output, showing the number of queued, running, unknown statuses. (#472, #488).
  • Status overview now shows the number of jobs with incomplete operations and totals for the label overviews (#481, #501).

Changed

  • Renamed TorqueEnvironment and related classes to PBSEnvironment (#388, #491).
  • LSF and SLURM schedulers will appear to be present if the respective commands bjobs -V or sbatch --version exit with a non-zero error code (#498).
  • Only known JobStatus values will be written to the project document, to save space and writing time (#503).

Fixed

  • Strictly enforce that operation functions cannot be used as condition functions (and vice-versa) and prevent the registration of two operations with the same name (#496).
  • Changed default value of status_parallelization to none, to avoid bugs in user code caused by thread parallelism and overhead in process parallelism (#486).
  • Memory directives are converted to an integer number of gigabytes or megabytes in submission scripts (#482, #484).
  • Fixed behavior of --only-incomplete-operations (#481, #501).

Removed

  • Removed FlowProject.add_operation (#479, #487).
  • Removed deprecated --walltime argument (#478).
  • Removed deprecated flow.run interface (#478).
  • Removed deprecated FlowProject.export_job_statuses (#478).
  • Removed deprecated script feature, use submit --pretend instead (#478).
  • Removed deprecated CPUEnvironment, GPUEnvironment classes (#478).

0.13.0

17 Mar 03:45
c0bb522
Compare
Choose a tag to compare

This release adds support for the new Bridges-2 cluster, expands the use of directives to include memory and walltime requests, removes deprecated features, and fixes bugs. Thanks to the 7 people who contributed code to this release, including first-time contributors @berceanu and @adgnabro!

Added

  • Add official support for Bridges-2 cluster (#441).
  • Add support for memory requests via directives (#258, #466).
  • Add support for walltime requests via directives, deprecated --walltime argument to submit (#240, #476).

Fixed

  • Support for multi-line @flow.cmd operations (#451, #453).
  • FlowProject status shows labels and correct number of jobs for projects with zero operations (#454, #460).

Removed

  • Removed public API of deprecated class JobOperation (#445).
  • Removed public API of deprecated methods eligible and complete of BaseFlowOperation and FlowGroup (#445).
  • Removed configuration option use_buffered_mode (#445).
  • Removed public API of script, next_operations and submit_operations of FlowProject (#445).
  • Removed support for decommissioned Bridges cluster (#441).
  • Removed support for memory command line argument in submit (#466).