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.0.1, this project implements a version of Semantic Versioning described here called “Realistic” Semantic Versioning.
Unreleased¶
Added¶
files_to_carry_overargument tocreate_next_step()short option
-n(equivalent to--name-template) forautojob newharvest()acceptsprog_barargumentThe
BaderAnalysistyped dict now includes a key ("positions") for the position of the Bader volumesautojob.harvest.harvesters.ddec6:BondedToDictandBondOrdersautojob run:--timeoptionrestart():strictnessargument (--relaxedand--strictoptions have also been added to the CLI method)Vibrationtask and corresponding templatevib.py.j2MolecularDynamics: a task for running molecular dynamics calculationsMinimaHopping: a task for running minima hopping calculationsautojob.utils.optimize.configure_optimizer(): Configure an ASE optimizer from a dictionaryAdd typing_extension dependency for Python <3.12
Changed¶
create_next_step()supports unstructured directories (as a result, so too doesautojob restart)Harvesters have been renamed in the pattern “harvest_X_results”
autojob harvest/harvest()--filename/filenameoption/argument have been changed to--stemandstemautojob harvest/harvest()default--archive-mode/archive_modeis nowjsonautojob harvestwrites the name of created archives to the terminalparse_acf()returns aBaderAnalysisdictionary-
harvestedargument renamed totaskstasksis now the only required argumentfilenameargument renamed tostemarchive_modedefaults tojsonstemdefaults to the filename stem ofSETTINGS.ARCHIVE_FILEreturns a list of
Paths pointing to archives created
-
calculationsargument renamed totasksreturns the created archive
-
returns the created archive
restart():submitdefaults to FalseCalculationOutputs.from_directory()will fall back to the default calculator harvester if the specified harvester fails andstrict_modeis falseWhen writing scripts from templates (e.g., Task.write_task_script, Calculation.write_calculation_script,
template_script()), existing scripts will be overwritten.MolecularDynamicsnow inherits fromCalculationThe trajectory file of a
MolecularDynamicstask is specified via theMDInputsattributetrajectory_file
Fixed¶
Output structures from VASP calculations are correctly harvested with emmet 0.84.10
files_to_carry_overis now respected byrestart()autojob cleandefaultpathsvaluetasks loaded from archives are loaded as the same type specified by
task_classand are instantiated as Tasks (instead of dictionaries)VariableReferenceJSON schemaStudyGroup.from_directory()andStudy.from_directory()work for custom directory namesAll inputs can now be carried over when restarting arbitrary tasks
Removed¶
autojob.harvest.harvesters.espresso.get_output_atomsautojob.harvest.harvesters.gaussian.get_output_atomsautojob.harvest.harvesters.ddec6.BondOrderDict
0.0.2 (2026-01-12)¶
Added¶
Tasks¶
MolecularDynamicstaskBondScantaskScheduledMixin: a mixin class for scheduler-enabled tasksden_fitandfitting_basisparameters forGaussianJob
Harvest¶
GPAWharvester
Task/Study (Group)¶
Support for creating study/task group/task directories using name templates in
StudyGroup.to_directory,Study.to_directory,autojob advance, andautojob nextautojob new: creating unstructured task directories with metadata
Other¶
autojob cleanCLI: clean up the directory of a completed taskautojob config-genCLI: automatic configuration file generation fromautojobdefaultsautojob newCLI: tool for creating unstructured task, task group, study, and study group directories.autojob.utils.parsing.parse_time_from_slurm_scriptfunctionSchedulerInputs.ntasks_per_nodeandSchedulerInputs.cpus_per_task
Changed¶
Tasks¶
Calculationtasks obtain their scheduler properties fromScheduledMixinTask/Calculation script writing methods (e.g.
Task.write_task_script()andCalculation.write_task_script()) no longer accept variadic keyword argumentsCalculationInputs.opt_paramsdefaults to an empty dictionaryCalculation.write_calculation_script():The
templateandstructure_namearguments have been removedThe
additional_dataargument has been addedTemplates are rendered with the output of
Calculation.model_dumpplus any additional data (the structure name and calculator name/parameters must be accessed accordingly)
Task.write_task_script():Templates are rendered with the output of
Task.model_dumpplus any additional data
Calculation.write_inputs_json()no longer accepts variadic keyword argumentsTask.write_inputs_json()no longer accepts variadic keyword arguments
Settings¶
Default settings:
ARCHIVE_FILE="archive.json"TASK_METADATA_FILE="task.json"TASK_GROUP_METADATA_FILE="task_group.json"
HPC¶
Renamed
scheduler_script_templateargument oftemplate_scripttoscript_templateSchedulerOutputs.stateis set toJobState.UNKif None.autojob.hpc.convertwas moved toautojob.utils.parsingSchedulerInputs.cores_per_noderenamed toSchedulerInputs.ntasks_per_nodeto match SLURM parameter name
Other¶
configuration for
autojobis expected under the[tool.autojob]table in .toml configuration filesautojob.clirenamed toautojob._cliCLI commands are all defined in
autojob._clisubmit_new_taskrequires atask_scriptargumentStudy.to_directoryandStudyGroup.to_directoryreturn the newly created directory’s pathautojob runnow accepts a command instead of a scriptRenamed
scheduler_script_templateargument oftemplate_scripttoscript_templateSchedulerOutputs.stateis set toJobState.UNKif None.TaskInputs.atomsandTaskOutputs.atomscan now be lists ofAtoms
Fixed¶
The correct command name is now shown for
autojob clean -hStudy directories created with
StudyGroup.to_directoryare now correctly created as immediate children of the parent study group directory.The input atoms object is no longer written to the inputs JSON
The SLURM time limit is correctly parsed from the option value to
autojob run --time-sourceThe CLI will not fail if
tkinteris not availableThe value of
strict_modepassed toMolecularDynamics.from_directoryis now passed toMDOutputs.from_directoryautojob.harvest.harvest.harvestno longer raises a KeyError when harvesting from an archive file in a task directory not named according to its task IDarchiving tasks as CSV files with
archive()Input atoms for a task are now always written to the value of
Task.task_inputs.atoms_filenamevarious bugs with using
autojob coordinatorserialization of
numpyarrays inCalculationOutputs.calculator_resultsthe
autojobCLI no longer fails whentkinteris missing for commands other thanautojob coordinator
Removed¶
Settings:
TASK_SCRIPT: useCalculationInputs.calculation_scriptSLURM_SCRIPT: useTaskInputs.task_script
SchedulerInputs.cores_per_node
0.0.1 (2025-12-02)¶
Added¶
Task/Study (Group)¶
autojob.bases.task_base: An abstract base class for tasks;TaskandCalculationhave been re-written as subclasses with necessary write_inputs and from_directory methodsautojob.tasks: a namespace package for pre-defined concreteTaskBaseimplementationstasks.Task.write_task_script(): write the task scripttasks.Calculation.write_task_script(): write the task script; this replacesCalculation.write_slurm_scripttasks.Calculation.write_calculation_script(): write the calculation scriptRemoved
use_cacheargument from Task.from_directory and Calculation.from_directoryTaskOutcome.UNKNOWNand comprehensive description oftask_Base.TaskOutcomeautojob.study.Study.to_directory()andautojob.study.Study.from_directory(): utility functions for study directoriesstudy_group.StudyGroup.to_directory()andstudy_group.StudyGroup.from_directory()Custom serialization for writing
autojob.study.Studymetadata filesRe-added the cpu2021-bf05 partition (see the commit message from commit 85c4092980e01963586702c2f4ee443f0313244a for details)
autojob.hpc.JobState: SLURM-specific job states
Coordinator¶
autojob.coordinator.coordinator.Coordinator.ase_calculator: a property for getting the ASE calculator corresponding to the CalculatorTypeautojob.coordinator.coordinator.submission_parameters_to_scheduler_inputs(): convert the submission parameters as represented in the GUI toautojob.hpc.SchedulerInputsautojob.coordinator.filters: Utilities for filtering parameter dictionaries by their valuesautojob.coordinator.gui.gui.CoordinatorTabs: aTypedDictrepresenting the GUI notebook tabsautojob.coordinator.gui.job_submission.JobSubmissionParameters: aTypedDictrepresenting the GUI defined scheduler inputsautojob.coordinator.gui.groups.CalculationParameterGroup.get_sets(): get all permutations of the parameter values specified in aautojob.coordinator.gui.groups.CalculationParameterGroup--destCLI option forautojob coordinator
Harvest¶
--destCLI option forautojob harvest,autojob.harvest.harvest.harvest(), andautojob.harvest.archive.archive()support for Quantum Espresso
progress bar for harvesting calculations with
autojob.harvest.harvest.harvest()autojob.harvest.harvesters: a namespace package with pre-defined harvesters (VASP, gaussian, espresso, DDEC6, bader, default)
next¶
autojob restartCLIautojob.next.advanceandautojob.next.restartautojob.parametrizations.create_parametrization
Other¶
The plugin interface for tasks, harvesters, and analyses
autojob.legacy: legacy mode classes/functionsSeveral settings: see
AutojobSettingsautojob.utils.get_loader(): replacement forautojob.coordinator.scripter.Scripter.get_loader()autojob.utils.get_last_updatedautojob.utils.copy_file_permissions_and_ownershipautojob.utils.schemas.id_factory
Changed¶
Task/Study (Group)¶
major refactor of
Taskand subclasses to adhere to theTaskBaseabstract base classmagmomsare retrieved from the calculatorresultsdictionary instead of withase.atoms.Atoms.get_magnetic_moments()inTask.prepare_input_atoms().TaskMetadata._build_classchanged toautojob.bases.task_base.TaskMetadataBase.task_classMoved
.patch_tasktoautojob.calculation.calculation.CalculationJob stats files are created newly every time and are now JSON files
autojob.task.TaskOutputs.outcomeis set in calculation according to convergence andautojob.hpc.SchedulerOutputs.stateautojob.study.Studyandautojob.study_group.StudyGroupimplemented as PydanticBaseModelautojob.study.StudyTypemoved toautojob.legacymoduleTask metadata is now only read from the job file (set by
SETTINGS.TASK_METADATA_FILE)copy metadata from input atoms in
Calculation.patch_taskautojob.taskre-implemented inautojob.tasks.task
Coordinator¶
Job directories are created using
autojob.study_group.StudyGroup.to_directory()SchedulerOutputs.partitionis typed and validated as a stringautojob.calculation.parametersmoved toautojob.coordinator
Harvest¶
autojob.harvest.patch.build_metadata_patches()implements a “Strategy” design pattern to enable applicability for all types of metadataautojob.harvest.chargeimplemented as ddec6 and bader harvestersthe
whitelistandblacklistarguments toautojob harvestandharvest()are renamed towhitelistsandblacklistsin better agreement with their implementationsElementarySteprenamed toautojob.harvest.mechanism.ElectrochemicalStep; stoichiometric coefficient added as attributeall new calculation outputs returned in
flatten_calculationsDOS can be optionally retained when harvesting VASP calculations
next¶
autojob.parametrizations.VariableReference.set_input_value()accepts both an object in addition to a mapping forshell
Other¶
autojob.utils.parsing.parse_job_stats_file()raises aDeprecationWarningif an oldjob_stats.txtfile is parsedthe names of several
autojobsettings have been changedreorder_vasp_sequencemoved to utilsautojob runCLIall templates but for new, simplified templates
run.py.j2andrun.sh.j2directory finders (e.g.,
find_study_dirs) identify directories by the presence of metadata filesfind_job_dirsrenamed tofind_task_dirsfind_calculation_dirsrenamed tofind_task_group_dirssubstitute_placeholdersaccepts regular Python format stringsadd defaults for fields for
autojob.workflow.Step
Fixed¶
Task/Study (Group)¶
Pydantic warnings emitted when calling
SchedulerInputs.model_dump()(see commit fda0e7eb7c3af3f3e9f7772fc9f04b15e9ccc851)task.TaskMetadata.calculation_type,task.TaskMetadata.calculator_type, andtask.TaskMetadata.study_typeare serialized as None when NoneSchedulerOutputsnow correctly recognizes “Partition” as an alias forSchedulerOutputs.partitionSchedulerInputsare now included in the result offlatten_calculations()
Harvest¶
All DDEC6 charge data is loaded instead of a subset, if present
autojob.parametrizations.VariableReference.set_input_value()previously (and incorrectly) checked the type ofshellto decide how to set and delete attributes/keys, resulting in attempting to set nonexistent attributes on a dictionaryrestart_relaxation()properly handles calc and slurm modsautojob.calculation.charge.BaderAnalysisschema now matches that ofpymatgen.command_line.bader_caller.BaderAnalysis.summary
Other¶
Atomsobjects that are serialized withBaseModel.model_dumpare serialized asAtomsobjects ifmode="python"and as dictionaries otherwise
Removed¶
Task/Study (Group)¶
autojob.study.StudyType:study_typewill only be a field name for legacy modeCalculation.write_input_atoms: useautojob.task.Task.write_inputs()Calculation.to_directory: useautojob.task.Task.to_directory()autojob.study.TASK_FILESStudyGroup.as_dict,StudyGroup.from_dict,StudyGroup.from_path,StudyGroup.create_directory,StudyGroup.addstudies,StudyGroup.removestudiesandStudyGroup.studiespropertySchedulerOutputs.error: all scheduler information is recorded inautojob.hpc.SchedulerOutputs.statetask.TaskInputs.extract_files_to_copy()calculation.Calculation.write_python_script()autojob.hpc.Clusterand all instancesautojob.hpc.SchedulerErrorautojob.next.update_metadata_filelegacy_modearguments from most functions/methods
Coordinator¶
autojob.coordinator.scripter: script writing handled byautojob.task.Task.write_inputs()
Harvest¶
autojob.harvest.patch.build_calculation_patches(): useautojob.harvest.patch.build_metadata_patches()withmetadata_type="calculation"autojob.harvest.patch.build_study_patches(): useautojob.harvest.patch.build_metadata_patches()withmetadata_type="study"autojob.harvest.structure
next¶
autojob.advanceandautojob.cli.advance(CLI logic is contained inautojob.next.advance)restart-relaxationandrun-vibrationCLIs and related modulesautojob.next.restart_relaxationandautojob.next.run_vibration
Other¶
autojob.advance.advance.write_calculation_metadata
autojob.schemas: charge data consolidated inautojob.calculation.chargeautojob.calculationsub-packageautojob.utils.extract_structure_nameautojob.utils.parsing.import_class
0.0.1a37 (2024-08-21)¶
Added¶
LORBITVasp INCAR tag toautojob.coordinator.vaspsupport for Gaussian-powered calculations
support for custom Python script templates
default template for infrared calculations
New modules:
autojob.advance: incremental job controlautojob.harvest: data assimilation convenience functions & CLIautojob.harvest.harvest: utilities for harvesting task dataautojob.harvest.patch: utilities for patching task data
autojob.cli.restart_relaxation,autojob.next.relaxationand corresponding CLI command restart-relaxationautojob.cli.run_vibration,autojob.next.vibrationand corresponding CLI command run-vibration: create metadata preserving thermodynamic calculation directoriesautojob.cli.init: enable shell completion forautojobautojob.taskautojob.study,autojob.study_group,autojob.hpc,autojob.settings,autojob.schemas,autojob.parametrizationsautojob.calculation: representations/manipulation of calculation data
New dependencies:
Pydantic & pydantic-settings: for data validation/data model
cclib: for calculation output parsing
Changed¶
Deprecated modules:
autojob.coordinator.calculation: useautojob.calculationautojob.coordinator.classification: useautojob.calculationautojob.coordinator.job: useautojob.calculationautojob.coordinator.study: useautojob.studyautojob.coordinator.vasp: useautojob.calculation.vasp
vasp.shtemplate no longer removes wildcard files upon cleaning up the scratch directorySwitched to Hatch for build backend and testing (no more Poetry/tox)
autojob.cli.restart: move toautojob.nextDropped support for Python <3.10
Python and SLURM script templates
Minimum
ccudependency is v0.0.5
Removed¶
autojob.accountantandautojob.auditorhave been removed in favour of using Pydantic for validation and deserializationautojob.coordinator.archas been removed; useautojob.hpcinsteadautojob.coordinator.calculationhas been removed; useautojob.calculationandautojob.taskinsteadautojob.coordinator.studyhas been removed; useautojob.studyinsteadautojob.coordinator.submission_configuration.ParameterSelectionComboboxhas been removedautojob.utils.validate_idhas been removed
0.0.1a36 (2022-12-02)¶
Added¶
autojob.details
Removed¶
findfile.find_details()findfile.infer_details()findfile.determine_entry_type()findfile.find_studies()
0.0.1a35 (2022-12-01)¶
Added¶
AMIX,AMIX_MAG,BMIX,BMIX_MAG,IMIXVasp INCAR tags toautojob.coordinator.vaspfindfile.get_slurm_job_id()findfile.find_last_submitted_jobs()
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 tofindfile._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.0.1a34 (2022-11-28)¶
Added¶
docstrings for
autojob.accountant.parsingfunctionsOptional keyword argument parameter (
with_wavecar) toautojob.cli.restart.Restarter.create_restart_jobs()Optional inclusion of
WAVECARin restarted jobs fromautojob restartautojob.cli.restart.Restarter.characterize_jobs()
Changed¶
study group ID, study ID, calculation ID, and job ID included in
accountant.AccountingErrorraised byparsing.parse_job_results()gammakey added to first dictionary returned byparsing.parse_job_results()Different printing of not added study groups in
Accountant.create_study_group(),Accountant.create_study(),Accountant.create_calculation()depending on verbosityAccountant.create_study_group(),Accountant.create_study(),Accountant.create_calculation()print unknown errors to console
Fixed¶
values argument to
job.CalculationParameterforLDAUTYPEandNSW
0.0.1a33 (2022-11-22)¶
Changed¶
Memory limit specified per core instead of per node
Fixed¶
rendering of k-pts in
run.py
0.0.1a32 (2022-11-15)¶
Added¶
Option to format the
vasp.shfor running on ComputeCanada clusters
Removed¶
removed support for dictionaries in
validation.iter_to_native()
0.0.1a31 (2022-11-14)¶
Added¶
validation.iter_to_native()supports dictionaries
Changed¶
autojob.coordinator.gui.groups.CalculationParameterGroupstores values as native Python values instead of strings
Fixed¶
Fixed issue with distinguishing calculation parameters in submission parameter tab
0.0.1a30 (2022-11-12)¶
Added¶
Add docstrings for
findfile.find_study_group_dirs(),findfile.find_study_dirs(),findfile.find_calculation_dirs(), andfindfile.find_job_dirs()docstrings for
AuditorAuditor.audit()Auditor.format()Auditor.prune()Auditor.prune_calculation_directories()autojob auditorCLI subcommands (add, format, prune)Jinja2 dependency
Changed¶
render run.py and vasp.sh using Jinja2 templates
0.0.1a29 (2022-11-12)¶
Changed¶
The structure name for a restart job is determined from the run.py file
0.0.1a28 (2022-11-06)¶
Added¶
outline of
autojob.auditorsubpackage
Changed¶
JobStats.parse_max_rss()parses memory appropriately according to unitsdest variable not passed to
Accountant.export()
Fixed¶
Accountant.add()now correctly callsAccountant.create_study()instead ofAccountant.create_study_group()Accountant.export()no longer passes dest as positional argument toAccountant._export_jobs(),Accountant._export_calculations(),Accountant._export_studies(), andAccountant._export_study_groups()parsing.parse_job_results()handlesIndexErrorfrom parsing vasprun.xml
0.0.1a27 (2022-10-18)¶
Removed¶
pymongo dependency
0.0.1a26 (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.0.1a25 (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(), andfindfile.find_job_dirs()the vasp.sh file is now correctly opened instead of attempting to open the old job directory
0.0.1a24 (2022-10-17)¶
Added¶
docstring added for
TreeviewFrame.clear_treeview()docstrings added for
autojob.coordinator.gui.submission_configuration
Changed¶
Coordinator.calc_params_for()andCoordinator.calc_param_values_for()accept a list ofPath`s for the `structuresparameters instead of a list of stringsCoordinator.structure_groups_with()accepts an iterable ofpathlib.Path`s for the `structuresparameters instead of an iterable of strings
Removed¶
ParameterSelectionPanel
0.0.1a23 (2022-10-17)¶
Changed¶
Restart jobs are printed as calculationID/newjobID
0.0.1a22 (2022-10-17)¶
Changed¶
Logic of autojob restart moved into
autojob.cli.restart.Restarterclass
0.0.1a21 (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.0.1a20 (2022-10-16)¶
Changed¶
autojob restart (and related API functions) support scaling the memory limit in the restart job and changing the verbosity
0.0.1a19 (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.0.1a18 (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()raisesAccountingErrorif no valid vasprun.xml foundautojob.accountant.accountant.export()has new positional arguments dest and filenames
0.0.1a17 (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.0.1a16 (2022-10-13)¶
Changed¶
ParameterSelectionTab.calc_params()values areCalculationParameterGroup’svalues in dictionary return by
ParameterSelectionTab.load_calc_params()areCalculationParameterGroup’s
Fixed¶
bool values are cast correctly in
ParameterSelectionTab
0.0.1a15 (2022-10-12)¶
Fixed¶
AttributeErrordue to calling extend method of values parameter passed toCalculationParameterGroup.add_values()byParameterPanel.add_parameter_values()
0.0.1a14 (2022-10-12)¶
Changed¶
Jobs that are not added to database by
autojob.accountant.accountant.add()are printed outaccountant.AccountingErrorraised ifparsing.parse_job_results()unable to parse vasprun.xml file twice
0.0.1a13 (2022-10-12)¶
Added¶
DFT+U and magnetization
CalculationParameter`s in :mod:`autojob.coordinator.vasp
Changed¶
FileNotFoundErroris handled byautojob.cli.restart.create_restart_calculation()
0.0.1a12 (2022-10-11)¶
Added¶
autojob.coordinator.groups.CalculationParameterGroup.defined_values()SubmissionParameterGroupautojob.cli.restartand correspondind CLI subcommand
Fixed¶
Duplicate
CalculationParameter`s in :class:`CalculationParameterGroupExtra argument supplied to load methods of tabs
Return value from
SelectionFrame.structures()is now a list of strings instead of a list ofpathlib.Path’s
Removed¶
Coordinator.next_calc_params()
0.0.1a11 (2022-10-09)¶
Added¶
Version option for CLI
0.0.1a10 (2022-10-09)¶
Added¶
Changed¶
JobSubmissionTab,ParameterSelectionTab,StructureSelectionTab,StudyConfigurationTab,SubmissionConfigurationTab, andSummaryTabconstructors no longer require notebook parameterautojob.coordinator.job.InputParameterrenamed toCalculationParameter
0.0.1a9 (2022-09-30)¶
Added¶
docstrings for
Accountant.add()call stack
0.0.1a8 (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.0.1a7 (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.0.1a6 (2022-09-26)¶
Added¶
CLI with coordinator and accountant subcommands
DetailEncoderPartition.from_name()parsing.match_xml_tags()parsing.parse_job_results()Calculation.as_dict()Study.as_dictStudyGroup.as_dictAccountant.create_study_group()Accountant.create_study()Accountant.create_calculation()Accountant.create_job()Accountant.load_db()Accountant.add_to_database()Jobaccepts None for results and job_stats parameters
Changed¶
MainApplicationrenamed toGUIstrict parameter renamed to update in
autojob.accountant.accountantautojob.accountant.accountantCLI methods moved toautojob.accountant.cliCalculationaccepts a list of strings instead of a list ofJob’sStudyaccepts a list of strings instead of a list ofCalculation’sStudyGroupaccepts a list of strings instead of a list ofStudy’sCalculationType,CalculatorType,StudyTypedo not capitalize __str__ return valueAccountantconstructor requires three positional arguments (exclusive, update, verbose)exclusive, update, verbose are stored as instance attributes of
Accountantobjects and are no longer passed as arguments toAccountant.add()autojob.accountant.parsing.parse_job_stats_file()raisesAccountingErroris unable to parse job stats fileparsing.parse_job_stats_file()raises ValueError is headers missing in job stats fileJobproperties changed to attributesStudy.study_typeproperty changed to attributeStudyGroup.date_createdproperty changed to attributeCalculationproperties (except job) changed to attributes
0.0.1a5 (2022-09-13)¶
Added¶
isym as a vasp parameter
Changed¶
Properties of
Coordinatorare no longer cached
0.0.1a4 (2022-09-12)¶
Added¶
autojob.accountantautojob.coordinator.scriptermonty.json.MSONablemethods toCalculation,Job,Study, andStudyGroup
Changed¶
Refactored tests
Moved package to src/ directory
scripting capabilities located in
autojob.coordinator.scripter
0.0.1a3 (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.0.1a2 (2022-09-07)¶
Added¶
The Job Submission tab allows for different submission parameters for each
ParameterGroupStructure groups
Summary Tab in GUI
Changed¶
0.0.1a1 (2022-09-02)¶
First version.