Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

Starting with version 0.12.0, this project implements a version of Semantic Versioning described here called “Realistic” Semantic Versioning.

Unreleased

Added

Changed

Fixed

Removed

0.12.0b1 (2024-08-21)

Added

Changed

Removed

  • autojob.accountant and autojob.auditor have been removed in favour of using Pydantic for validation and deserialization

  • autojob.coordinator.arc has been removed; use autojob.hpc instead

  • autojob.coordinator.calculation has been removed; use autojob.calculation and autojob.task instead

  • autojob.coordinator.study has been removed; use autojob.study instead

  • autojob.coordinator.submission_configuration.ParameterSelectionCombobox has been removed

  • autojob.utils.validate_id has been removed

0.11.1 (2022-12-02)

Added

  • autojob.details

Removed

  • findfile.find_details()

  • findfile.infer_details()

  • findfile.determine_entry_type()

  • findfile.find_studies()

0.11.0 (2022-12-01)

Added

Changed

  • ParseError`s are caught by :meth:.Restarter.characterize_jobs`

  • Default buffer time (i.e., time that a Vasp calculation is stopped prior to the actual end time) is increased from 5% to 10%

  • findfile.find_template_dir() renamed to findfile._find_template_dir() (i.e., made private to module)

Fixed

  • Parsing of structure name in Restarter.create_restart_jobs()

  • New job names returned by Restarter.create_restart_jobs() instead of old job names

0.10.6 (2022-11-28)

Added

  • docstrings for autojob.accountant.parsing functions

  • Optional keyword argument parameter (with_wavecar) to autojob.cli.restart.Restarter.create_restart_jobs()

  • Optional inclusion of WAVECAR in restarted jobs from autojob restart

  • autojob.cli.restart.Restarter.characterize_jobs()

Changed

  • study group ID, study ID, calculation ID, and job ID included in accountant.AccountingError raised by parsing.parse_job_results()

  • gamma key added to first dictionary returned by parsing.parse_job_results()

  • Different printing of not added study groups in Accountant.create_study_group(), Accountant.create_study(), Accountant.create_calculation() depending on verbosity

  • Accountant.create_study_group(), Accountant.create_study(), Accountant.create_calculation() print unknown errors to console

Fixed

0.10.5 (2022-11-22)

Changed

  • Memory limit specified per core instead of per node

Fixed

  • rendering of k-pts in run.py

0.10.4 (2022-11-15)

Added

  • Option to format the vasp.sh for running on ComputeCanada clusters

Removed

0.10.3 (2022-11-14)

Added

Changed

Fixed

  • Fixed issue with distinguishing calculation parameters in submission parameter tab

0.10.2 (2022-11-12)

Added

  • Add docstrings for findfile.find_study_group_dirs(), findfile.find_study_dirs(), findfile.find_calculation_dirs(), and findfile.find_job_dirs()

  • docstrings for Auditor

  • Auditor.audit()

  • Auditor.format()

  • Auditor.prune()

  • Auditor.prune_calculation_directories()

  • autojob auditor CLI subcommands (add, format, prune)

  • Jinja2 dependency

Changed

  • render run.py and vasp.sh using Jinja2 templates

0.10.1 (2022-11-12)

Changed

  • The structure name for a restart job is determined from the run.py file

0.10.0 (2022-11-06)

Added

  • outline of autojob.auditor subpackage

Changed

  • JobStats.parse_max_rss() parses memory appropriately according to units

  • dest variable not passed to Accountant.export()

Fixed

  • Accountant.add() now correctly calls Accountant.create_study() instead of Accountant.create_study_group()

  • Accountant.export() no longer passes dest as positional argument to Accountant._export_jobs(), Accountant._export_calculations(), Accountant._export_studies(), and Accountant._export_study_groups()

  • parsing.parse_job_results() handles IndexError from parsing vasprun.xml

0.9.7 (2022-10-18)

Removed

  • pymongo dependency

0.9.6 (2022-10-18)

Changed

  • –memory-scale CLI option for autojob restart was renamed to –memory-multiplier

Fixed

  • autojob restart now prints the new job ID instead of the old ID when listing newly created jobs

0.9.5 (2022-10-17)

Changed

  • autojob restart prints all newly created jobs

  • New memory requirements are printed with the ‘GB’ suffix

Fixed

  • the correct directories were not found due to the regex used in findfile.find_study_group_dirs(), findfile.find_study_dirs(), findfile.find_calculation_dirs(), and findfile.find_job_dirs()

  • the vasp.sh file is now correctly opened instead of attempting to open the old job directory

0.9.4 (2022-10-17)

Added

Changed

Removed

  • ParameterSelectionPanel

0.9.3 (2022-10-17)

Changed

  • Restart jobs are printed as calculationID/newjobID

0.9.2 (2022-10-17)

Changed

  • Logic of autojob restart moved into autojob.cli.restart.Restarter class

0.9.1 (2022-10-17)

Added

  • autojob.accountant.findfile.find_study_group_dirs()

  • autojob.accountant.findfile.find_study_dirs()

  • autojob.accountant.findfile.find_calculation_dirs()

  • autojob.accountant.findfile.find_job_dirs()

  • autojob.accountant.findfile.find_template_dir()

0.9.0 (2022-10-16)

Changed

  • autojob restart (and related API functions) support scaling the memory limit in the restart job and changing the verbosity

0.8.1 (2022-10-13)

Added

  • User can elect to update database entries instead of overwrite when using autojob accountant add, using the -u`CLI option, or :meth:`autojob.accountant.accountant.Accountant.add by setting the update attribute to True

Changed

  • Formatting of filename returned by autojob.accountant.findfile.get_filename()

  • autojob accountant add prints added entries by default

  • Long CLI options for specifying export files with autojob accountant add have double hyphen prefixes

0.8.0 (2022-10-13)

Added

  • autojob.accountant.findfile.get_filename()

  • CLI option –dest for autojob accountant export subcommand

  • User can specify filenames to output .csv files for jobs, calculations, studies, and study groups with -jf, -cf, -sf, and -gf CLI options, respectively

  • verbose option (-v) added for autojob accountant export subcommand

Changed

  • autojob.accountant.parsing.parse_job_results() raises AccountingError if no valid vasprun.xml found

  • autojob.accountant.accountant.export() has new positional arguments dest and filenames

0.7.5 (2022-10-13)

Changed

  • The job ID of the source job is recorded in the job.json file of the restart job by autojob.cli.restart

0.7.4 (2022-10-13)

Changed

Fixed

0.7.3 (2022-10-12)

Fixed

0.7.2 (2022-10-12)

Changed

  • Jobs that are not added to database by autojob.accountant.accountant.add() are printed out

  • accountant.AccountingError raised if parsing.parse_job_results() unable to parse vasprun.xml file twice

0.7.1 (2022-10-12)

Added

  • DFT+U and magnetization CalculationParameter`s in :mod:`autojob.coordinator.vasp

Changed

0.7.0 (2022-10-11)

Added

Fixed

  • Duplicate CalculationParameter`s in :class:`CalculationParameterGroup

  • Extra argument supplied to load methods of tabs

  • Return value from SelectionFrame.structures() is now a list of strings instead of a list of pathlib.Path’s

Removed

  • Coordinator.next_calc_params()

0.6.1 (2022-10-09)

Added

  • Version option for CLI

0.6.0 (2022-10-09)

Added

Changed

0.5.1 (2022-09-30)

Added

  • docstrings for Accountant.add() call stack

0.5.0 (2022-09-28)

Added

  • autojob.accountant.accountant.export() is implemented in API and CLI

Changed

  • as_dict, as_flat_dict, and from_dict moved from must be implemented by subclasses (e.g., autojob.coordinator.vasp.VaspJob)

  • structure-related keys in input_parameters return value from autojob.accountant.parsing

  • the dictionary return from Calculation.as_dict() includes the keys @module and @class

0.4.1 (2022-09-28)

Added

  • Inputs, Outputs, @module, @class keys in return value dictionary in Job.as_dict()

Removed

  • k-pts, and Results keys in return value dictionary in Job.as_dict

0.4.0 (2022-09-26)

Added

  • CLI with coordinator and accountant subcommands

  • DetailEncoder

  • JobStats

  • Partition.from_name()

  • parsing.match_xml_tags()

  • parsing.parse_job_results()

  • Job.as_dict()

  • Calculation.as_dict()

  • Study.as_dict

  • StudyGroup.as_dict

  • Accountant.create_study_group()

  • Accountant.create_study()

  • Accountant.create_calculation()

  • Accountant.create_job()

  • Accountant.load_db()

  • Accountant.add_to_database()

  • Job accepts None for results and job_stats parameters

Changed

  • MainApplication renamed to GUI

  • strict parameter renamed to update in autojob.accountant.accountant

  • autojob.accountant.accountant CLI methods moved to autojob.accountant.cli

  • Calculation accepts a list of strings instead of a list of Job’s

  • Study accepts a list of strings instead of a list of Calculation’s

  • StudyGroup accepts a list of strings instead of a list of Study’s

  • CalculationType, CalculatorType, StudyType do not capitalize __str__ return value

  • Accountant constructor requires three positional arguments (exclusive, update, verbose)

  • exclusive, update, verbose are stored as instance attributes of Accountant objects and are no longer passed as arguments to Accountant.add()

  • autojob.accountant.parsing.parse_job_stats_file() raises AccountingError is unable to parse job stats file

  • parsing.parse_job_stats_file() raises ValueError is headers missing in job stats file

  • Job properties changed to attributes

  • Study.study_type property changed to attribute

  • StudyGroup.date_created property changed to attribute

  • Calculation properties (except job) changed to attributes

0.3.0 (2022-09-13)

Added

  • isym as a vasp parameter

Changed

0.2.0 (2022-09-12)

Added

  • autojob.accountant

  • autojob.coordinator.scripter

  • monty.json.MSONable methods to Calculation, Job, Study, and StudyGroup

Changed

  • Refactored tests

  • Moved package to src/ directory

  • scripting capabilities located in autojob.coordinator.scripter

0.1.2 (2022-09-08)

Removed

  • pymatgen-db, acat, wulffpack, scipy, pandas dependencies

Changed

  • The list containing GUI pages has been re-implemented as a dictionary

0.1.1 (2022-09-07)

Added

Changed

0.1.0 (2022-09-02)

  • First version.