Change log#
v0.8.2 - 2026-01-14#
Features#
Add support for AiiDA monitors [0522862]
v0.8.1 - 2025-06-03#
Fixes#
ShellJob: FixRemoteDatahandling [cfe207d]
Documentation#
Fix broken commit links in
CHANGELOG.md[14866d1]
Devops#
Add explicit
sphinx.configurationkey to RTD conf [189df63]
v0.8.0 - 2024-09-18#
Breaking changes#
Refactor#
Refactor: abstract
prepare_shell_job_inputsfromlaunch_shell_job[cc72abd]
Fixes#
v0.7.3 - 2024-07-16#
Fixes#
ShellJob: Fix bug whenmetadata.options.output_filenameis specified [437f2b3]
v0.7.2 - 2024-07-01#
Fixes#
ShellJob: FixRemoteDatainputs shadowing job’s own input files [9d32bf8]
Dependencies#
Update requirement
aiida-core~=2.6[b41d007]
Devops#
v0.7.1 - 2024-05-13#
Fixes#
ShellParser: Prefix output filenames starting with a number [352c309]
Docs#
Docs: Add hint on retrieving outputs from daemon submitted jobs [31ebfbc]
v0.7.0 - 2024-03-22#
Features#
Fixes#
Changes#
Set default localhost scratch to
$TMP/aiida_shell_scratch[beeab21]
Dependencies#
Docs#
Devops#
Add pre-commit hooks to format TOML and YAML files [1cfb428]
v0.6.0 - 2023-11-02#
Features#
ShellJob: Add support forRemoteDatanodes [4a60253]The
nodesinput of thelaunch_shell_jobandShellJobnow allowRemoteDatanodes. Their content will be copied to the working directory of the job, just as withSinglefileDatanodes. See the how-to example in the documentation for details.ShellJob: Allow entry point strings for theparserinput [2f4fb3d]Add the
EntryPointDatadata plugin [161cfef]
Fixes#
ShellJob: Do not copy contents ofnodesto repository [5d46235]
Changes#
Docs#
Devops#
v0.5.3 - 2023-06-13#
Features#
ShellJob: Add support forFolderDatainnodesinput [9587c33]
v0.5.2 - 2023-05-12#
Features#
ShellJob: Add the optionalredirect_stderrinput [92f726b]A common practice when running shell commands is to redirect the content, written to the stderr file descriptor, to stdout. This is normally accomplished as follows:
date > stdout 2>&1
This behaviour can now be reproduced by setting the
metadata.options.redirect_stderrinput toTrue:from aiida_shell import launch_shell_job results, node = launch_shell_job( 'date', metadata={'options': {'redirect_stderr': True}} )
Fixes#
ShellJob: Addinvalidates_cache=Trueto exit codes <400[4d405e1]
Devops#
v0.5.1 - 2023-05-04#
Fixes#
v0.5.0 - 2023-05-03#
Features#
launch_shell_job: Accept string for theargumentsargument [a8af91a]It is now possible to pass the command line arguments for the command as a string, instead of a list of individual arguments:
from aiida_shell import launch_shell_job results, node = launch_shell_job( 'date', arguments='--iso-8601 --universal', )
launch_shell_job: AcceptAbstractCodeforcommandargument [dacfbd3]It is now possible to pass a specific preconfigured code to run, instead of the command’s name:
from aiida.orm import load_node from aiida_shell import launch_shell_job results, node = launch_shell_job( load_node('date@localhost'), arguments='--iso-8601 --universal', )
Fixes#
launch_shell_job: Fix bug insubmit=Truewhen used within work chain [dbeac91]
Devops#
Documentation#
v0.4.0 - 2023-03-30#
Features#
ShellParser: Add support to parse output directory asFolderData[269fd391]It is now possible to add a directory to the
outputsand it will be attached as aFolderDataoutput node:from aiida.orm import SinglefileData from aiida_shell import launch_shell_job results, node = launch_shell_job( 'tar', arguments=['-zxvf', '{archive}'], nodes={ 'archive': SinglefileData('/some/path/archive.tar.gz'), }, outputs=['sub_folder'] )
ShellJob: Addfilename_stdininput to redirect file through stdin [87bc8360]Certain shell commands require input to be passed through the stdin file descriptor. To reproduce this behaviour, the file that should be redirected through stdin can be defined using the
metadata.option.filename_stdininput:from aiida.orm import SinglefileData from aiida_shell import launch_shell_job results, node = launch_shell_job( 'cat', nodes={ 'input': SinglefileData.from_string('string a') }, metadata={'options': {'filename_stdin': 'input'}} ) print(results['stdout'].get_content())
ShellJob: Add support for custom parsing [32db3847]This makes it possible to define a custom parser on-the-fly to parse output data and attach it any existing
Dataclass. For example, the content of the file can be stored as aStrinstead of aSinglefileData:from aiida_shell import launch_shell_job def parser(self, dirpath): from aiida.orm import Str return {'string': Str((dirpath / 'stdout').read_text().strip())} results, node = launch_shell_job( 'echo', arguments=['some output'], parser=parser ) print(results['string'].value)
ShellJob: Add theadditional_retrieveoption [05def137]Add the
PickledDatadata plugin [3a40eefc]
Fixes#
ShellJob: UseSinglefileData.filenamebefore falling back on key [fe34d973]ShellJob: Automatically create parent directories infilenames[9b380200]ShellJob: Raise when<or>are specified inarguments[5f42f0aa]
Dependencies#
Update pre-commit requirement
isort==5.12.0[69ac1ffe]
v0.3.0 - 2022-11-07#
Features#
launch_shell_job: Add thesubmitargument to run over the daemon [6f2435bc]This adds support to submit shell job’s to the daemon which allows to run many independen shell job’s in parallel greatly increasing throughput:
launch_shell_job( 'echo', arguments=['hello world'], submit=True )
ShellJob: Add theERROR_STDERR_NOT_EMPTYexit code [8f4dd2cb]If the command returns a zero exit code, but the
stderris not empty, this exit code is set on theShellJobmarking it as failed.ShellJob: Customize the_build_process_labelmethod [506fe91f]This ensures that the
process_labelattribute that is set for theCalcJobNodethat represents the job execution in the provenance graph is more descriptive. Before it used to just beShellJobmaking all shell job’s indistinguishable from one another. After this change, the label is formatted asShellJob<command@computer. For example, runningechoon thelocalhostgets the process labelShellJob<echo@localhost>.Add the
ShellCodedata plugin [a185219a]This custom data plugin is used for codes that are automatically setup by the
launch_shell_jobfunction. By using a separate code plugin, it will be easy to query and filter for these codes.
Fixes#
ShellParser: Fix output files with non-alphanumeric characters [6f699897]This fixes an exception that would be raised if an output file would be attached with non-alphanumeric characters, e.g., dashes. These characters are not valid for link labels for which the filenames are used. The invalid characters are now automatically replaced by underscores.
Changes#
launch_shell_job: Change log level fromWARNINGtoINFO[a41f0ba1]The
launch_shell_jobfunction emits warnings if no explicit computer is specified and if a computer or code is created automatically. However, since this is the most common use-case and warnings are always shown by default, these warnings would crop up a lot. Therefore, the log level is changed toINFOsuch they are no longer shown by default, but if the logging level is upped by the user, the log messages will be shown.
Dependencies#
Add support for Python 3.11 [bde79f3c]
Update requirement
aiida-core~=2.1[f9391d61]
v0.2.0 - 2022-06-05#
Breaking changes#
ShellJob:filesinputfilesrenamed tonodes[f6dbfa03]launch_shell_job: keywordfilesrenamed tonodes[f6dbfa03]
Features#
ShellJob: add support for additionalDatatypes to thenodesinput. This allows for example to passFloat,IntandStrinstances. [f6dbfa03]ShellJob: add validation foroutputsinput [7f17e10e]
Dependencies#
Update requirement to
aiida-core~=2.0[1387f65d]
Devops#
Add GitHub Actions workflow for continuous deployment [667ede87]
Update the README.md with badges [25e789fa]
Make package description in pyproject.toml dynamic [b1040187]
Update the pre-commit dependencies [1a217eef]
Fix the tool.flit.sdist list in pyproject.toml [fc1d995b]
Minor improvements to the README.md [89913e4d]
Tests: filter warning for AiiDA creating the config directory [57a76f55]