slurm_script_generator.pragmas

Contents

slurm_script_generator.pragmas#

Classes

Account(value)

Represents the SLURM #SBATCH --account pragma.

Array(value)

Represents the SLURM #SBATCH --array pragma.

Bb_file(value)

Represents the SLURM #SBATCH --bbf pragma.

Begin(value)

Represents the SLURM #SBATCH --begin pragma.

Bell(value)

Represents the SLURM #SBATCH --bell pragma.

Burst_buffer(value)

Represents the SLURM #SBATCH --bb pragma.

Chdir(value)

Represents the SLURM #SBATCH --chdir pragma.

Cluster_constraint(value)

Represents the SLURM #SBATCH --cluster-constraint pragma.

Clusters(value)

Represents the SLURM #SBATCH --clusters pragma.

Comment(value)

Represents the SLURM #SBATCH --comment pragma.

Constraint(value)

Represents the SLURM #SBATCH --constraint pragma.

Container(value)

Represents the SLURM #SBATCH --container pragma.

Container_id(value)

Represents the SLURM #SBATCH --container-id pragma.

Contiguous(value)

Represents the SLURM #SBATCH --contiguous pragma.

Core_spec(value)

Represents the SLURM #SBATCH --core-spec pragma.

Cores_per_socket(value)

Represents the SLURM #SBATCH --cores-per-socket pragma.

Cpu_freq(value)

Represents the SLURM #SBATCH --cpu-freq pragma.

Cpus_per_gpu(value)

Represents the SLURM #SBATCH --cpus-per-gpu pragma.

Cpus_per_task(value)

Represents the SLURM #SBATCH --cpus-per-task pragma.

Deadline(value)

Represents the SLURM #SBATCH --deadline pragma.

Delay_boot(value)

Represents the SLURM #SBATCH --delay-boot pragma.

Dependency(value)

Represents the SLURM #SBATCH --dependency pragma.

Disable_stdout_job_summary(value)

Represents the SLURM #SBATCH --disable-stdout-job-summary pragma.

Distribution(value)

Represents the SLURM #SBATCH --distribution pragma.

Exclude(value)

Represents the SLURM #SBATCH --exclude pragma.

Exclusive_mcs(value)

Represents the SLURM #SBATCH --exclusive-mcs pragma.

Exclusive_user(value)

Represents the SLURM #SBATCH --exclusive-user pragma.

Extra_node_info(value)

Represents the SLURM #SBATCH --extra-node-info pragma.

Get_user_env(value)

Represents the SLURM #SBATCH --get-user-env pragma.

Gpu_bind(value)

Represents the SLURM #SBATCH --gpu-bind pragma.

Gpu_freq(value)

Represents the SLURM #SBATCH --gpu-freq pragma.

Gpus(value)

Represents the SLURM #SBATCH --gpus pragma.

Gpus_per_node(value)

Represents the SLURM #SBATCH --gpus-per-node pragma.

Gpus_per_socket(value)

Represents the SLURM #SBATCH --gpus-per-socket pragma.

Gpus_per_task(value)

Represents the SLURM #SBATCH --gpus-per-task pragma.

Gres(value)

Represents the SLURM #SBATCH --gres pragma.

Gres_flags(value)

Represents the SLURM #SBATCH --gres-flags pragma.

Hint(value)

Represents the SLURM #SBATCH --hint pragma.

Hold(value)

Represents the SLURM #SBATCH --hold pragma.

Immediate(value)

Represents the SLURM #SBATCH --immediate pragma.

Job_name(value)

Represents the SLURM #SBATCH --job-name pragma.

Kill_command(value)

Represents the SLURM #SBATCH --kill-command pragma.

Licenses(value)

Represents the SLURM #SBATCH --licenses pragma.

Mail_type(value)

Represents the SLURM #SBATCH --mail-type pragma.

Mail_user(value)

Represents the SLURM #SBATCH --mail-user pragma.

Mcs_label(value)

Represents the SLURM #SBATCH --mcs-label pragma.

Mem(value)

Represents the SLURM #SBATCH --mem pragma.

Mem_bind(value)

Represents the SLURM #SBATCH --mem-bind pragma.

Mem_per_cpu(value)

Represents the SLURM #SBATCH --mem-per-cpu pragma.

Mem_per_gpu(value)

Represents the SLURM #SBATCH --mem-per-gpu pragma.

Mincpus(value)

Represents the SLURM #SBATCH --mincpus pragma.

Nice(value)

Represents the SLURM #SBATCH --nice pragma.

No_kill(value)

Represents the SLURM #SBATCH --no-kill pragma.

Nodefile(value)

Represents the SLURM #SBATCH --nodefile pragma.

Nodelist(value)

Represents the SLURM #SBATCH --nodelist pragma.

Nodes(value)

Represents the SLURM #SBATCH --nodes pragma.

Ntasks(value)

Represents the SLURM #SBATCH --ntasks pragma.

Ntasks_per_core(value)

Represents the SLURM #SBATCH --ntasks-per-core pragma.

Ntasks_per_node(value)

Represents the SLURM #SBATCH --ntasks-per-node pragma.

Ntasks_per_socket(value)

Represents the SLURM #SBATCH --ntasks-per-socket pragma.

Nvmps(value)

Represents the SLURM #SBATCH --nvmps pragma.

Oom_kill_step(value)

Represents the SLURM #SBATCH --oom-kill-step pragma.

Overcommit(value)

Represents the SLURM #SBATCH --overcommit pragma.

Oversubscribe(value)

Represents the SLURM #SBATCH --oversubscribe pragma.

Partition(value)

Represents the SLURM #SBATCH --partition pragma.

Power(value)

Represents the SLURM #SBATCH --power pragma.

Pragma(value)

Base class representing a SLURM #SBATCH pragma.

PragmaFactory()

Factory class for creating and managing SLURM pragma classes.

Priority(value)

Represents the SLURM #SBATCH --priority pragma.

Profile(value)

Represents the SLURM #SBATCH --profile pragma.

Qos(value)

Represents the SLURM #SBATCH --qos pragma.

Quiet(value)

Represents the SLURM #SBATCH --quiet pragma.

Reboot(value)

Represents the SLURM #SBATCH --reboot pragma.

Reservation(value)

Represents the SLURM #SBATCH --reservation pragma.

Resv_ports(value)

Represents the SLURM #SBATCH --resv-ports pragma.

Signal(value)

Represents the SLURM #SBATCH --signal pragma.

Sockets_per_node(value)

Represents the SLURM #SBATCH --sockets-per-node pragma.

Spread_job(value)

Represents the SLURM #SBATCH --spread-job pragma.

Stderr(value)

Represents the SLURM #SBATCH --stderr pragma.

Stdout(value)

Represents the SLURM #SBATCH --stdout pragma.

Switches(value)

Represents the SLURM #SBATCH --switches pragma.

Thread_spec(value)

Represents the SLURM #SBATCH --thread-spec pragma.

Threads_per_core(value)

Represents the SLURM #SBATCH --threads-per-core pragma.

Time(value)

Represents the SLURM #SBATCH --time pragma.

Time_min(value)

Represents the SLURM #SBATCH --time-min pragma.

Tmp(value)

Represents the SLURM #SBATCH --tmp pragma.

Tres_bind(value)

Represents the SLURM #SBATCH --tres-bind pragma.

Tres_per_task(value)

Represents the SLURM #SBATCH --tres-per-task pragma.

Use_min_nodes(value)

Represents the SLURM #SBATCH --use-min-nodes pragma.

Wckey(value)

Represents the SLURM #SBATCH --wckey pragma.

class slurm_script_generator.pragmas.Account(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –account pragma. Specifies the account to charge for resource usage of the job. Usage: –account <ACCOUNT_NAME>

arg_varname: str = 'account'#
dest: str = '--account'#
example: str | None = 'myacct'#
flags: List[str] = ['-A', '--account']#
help: str = 'charge job to specified account'#
metavar: str | None = 'NAME'#
pragma_id: int = 1#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'job_config'#
type#

alias of str

class slurm_script_generator.pragmas.Array(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –array pragma. Submits a job array, allowing multiple similar jobs to be managed together. Usage: –array <INDEXES>

arg_varname: str = 'array'#
dest: str = '--array'#
flags: List[str] = ['--array']#
help: str = 'submit a job array'#
metavar: str | None = 'INDEXES'#
pragma_id: int = 1#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'dependencies_and_arrays'#
type#

alias of str

class slurm_script_generator.pragmas.Bb_file(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –bbf pragma. Specifies a burst buffer specification file for the job. Usage: –bbf <FILE_NAME>

arg_varname: str = 'bb_file'#
dest: str = '--bb-file'#
flags: List[str] = ['--bbf']#
help: str = 'burst buffer specification file'#
metavar: str | None = 'FILE_NAME'#
pragma_id: int = 1#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'plugins'#
type#

alias of str

class slurm_script_generator.pragmas.Begin(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –begin pragma. Defers job start until a specified time (absolute or relative). Usage: –begin <TIME>

arg_varname: str = 'begin'#
dest: str = '--begin'#
flags: List[str] = ['-b', '--begin']#
help: str = 'defer job until HH:MM MM/DD/YY'#
metavar: str | None = 'TIME'#
pragma_id: int = 2#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'time_and_priority'#
type#

alias of str

class slurm_script_generator.pragmas.Bell(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –bell pragma. Rings the terminal bell when the job is allocated. Usage: –bell

action: str | None = 'store_true'#
arg_varname: str = 'bell'#
dest: str = '--bell'#
flags: List[str] = ['--bell']#
help: str = 'ring the terminal bell when the job is allocated'#
pragma_id: int = 2#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'notifications'#
type#

alias of str

class slurm_script_generator.pragmas.Burst_buffer(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –bb pragma. Specifies burst buffer specifications for the job. Usage: –bb <SPEC>

arg_varname: str = 'burst_buffer'#
dest: str = '--burst-buffer'#
flags: List[str] = ['--bb']#
help: str = 'burst buffer specifications'#
metavar: str | None = 'SPEC'#
pragma_id: int = 0#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'plugins'#
type#

alias of str

class slurm_script_generator.pragmas.Chdir(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –chdir pragma. Changes the working directory for the job before execution. Usage: –chdir <PATH>

arg_varname: str = 'chdir'#
dest: str = '--chdir'#
flags: List[str] = ['-D', '--chdir']#
help: str = 'change working directory'#
metavar: str | None = 'PATH'#
pragma_id: int = 0#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'io_and_directory'#
type#

alias of str

class slurm_script_generator.pragmas.Cluster_constraint(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –cluster-constraint pragma. Specifies a list of cluster constraints for node selection. Usage: –cluster-constraint <LIST>

arg_varname: str = 'cluster_constraint'#
dest: str = '--cluster-constraint'#
flags: List[str] = ['--cluster-constraint']#
help: str = 'specify a list of cluster constraints'#
metavar: str | None = 'LIST'#
pragma_id: int = 1#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'node_constraints_and_selection'#
type#

alias of str

class slurm_script_generator.pragmas.Clusters(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –clusters pragma. Specifies a comma-separated list of clusters to issue commands to, for multi-cluster environments. Usage: –clusters <CLUSTER1,CLUSTER2,…>

arg_varname: str = 'clusters'#
dest: str = '--clusters'#
flags: List[str] = ['-M', '--clusters']#
help: str = 'Comma separated list of clusters to issue commands to'#
metavar: str | None = 'NAMES'#
pragma_id: int = 4#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'job_config'#
type#

alias of str

class slurm_script_generator.pragmas.Comment(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –comment pragma. Adds an arbitrary comment to the job for annotation or tracking. Usage: –comment <TEXT>

arg_varname: str = 'comment'#
dest: str = '--comment'#
flags: List[str] = ['--comment']#
help: str = 'arbitrary comment'#
metavar: str | None = 'NAME'#
pragma_id: int = 8#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'job_config'#
type#

alias of str

class slurm_script_generator.pragmas.Constraint(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –constraint pragma. Specifies a list of constraints for node selection. Usage: –constraint <LIST>

arg_varname: str = 'constraint'#
dest: str = '--constraint'#
flags: List[str] = ['-C', '--constraint']#
help: str = 'specify a list of constraints'#
metavar: str | None = 'LIST'#
pragma_id: int = 0#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'node_constraints_and_selection'#
type#

alias of str

class slurm_script_generator.pragmas.Container(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –container pragma. Specifies the path to an OCI container bundle for the job. Usage: –container <PATH>

arg_varname: str = 'container'#
dest: str = '--container'#
flags: List[str] = ['--container']#
help: str = 'Path to OCI container bundle'#
metavar: str | None = 'PATH'#
pragma_id: int = 2#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'plugins'#
type#

alias of str

class slurm_script_generator.pragmas.Container_id(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –container-id pragma. Specifies the OCI container ID for the job. Usage: –container-id <ID>

arg_varname: str = 'container_id'#
dest: str = '--container-id'#
flags: List[str] = ['--container-id']#
help: str = 'OCI container ID'#
metavar: str | None = 'ID'#
pragma_id: int = 3#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'plugins'#
type#

alias of str

class slurm_script_generator.pragmas.Contiguous(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –contiguous pragma. Demands a contiguous range of nodes for the job. Usage: –contiguous

action: str | None = 'store_true'#
arg_varname: str = 'contiguous'#
dest: str = '--contiguous'#
flags: List[str] = ['--contiguous']#
help: str = 'demand a contiguous range of nodes'#
pragma_id: int = 2#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'node_constraints_and_selection'#
type#

alias of str

class slurm_script_generator.pragmas.Core_spec(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –core-spec pragma. Sets the count of reserved cores for the job. Usage: –core-spec <CORES>

arg_varname: str = 'core_spec'#
dest: str = '--core-spec'#
flags: List[str] = ['-S', '--core-spec']#
help: str = 'count of reserved cores'#
metavar: str | None = 'CORES'#
pragma_id: int = 0#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'advanced_hardware_misc'#
type#

alias of str

class slurm_script_generator.pragmas.Cores_per_socket(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –cores-per-socket pragma. Sets the number of cores per socket to allocate. Usage: –cores-per-socket <COUNT>

arg_varname: str = 'cores_per_socket'#
dest: str = '--cores-per-socket'#
example: str | None = '8'#
flags: List[str] = ['--cores-per-socket']#
help: str = 'number of cores per socket to allocate'#
metavar: str | None = 'C'#
pragma_id: int = 1#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'cpu_topology_and_binding'#
type#

alias of str

class slurm_script_generator.pragmas.Cpu_freq(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –cpu-freq pragma. Requests CPU frequency and governor settings for the job. Usage: –cpu-freq <MIN[-MAX[:GOV]]>

arg_varname: str = 'cpu_freq'#
dest: str = '--cpu-freq'#
flags: List[str] = ['--cpu-freq']#
help: str = 'requested cpu frequency (and governor)'#
metavar: str | None = 'MIN[-MAX[:GOV]]'#
pragma_id: int = 2#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'advanced_hardware_misc'#
type#

alias of str

class slurm_script_generator.pragmas.Cpus_per_gpu(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –cpus-per-gpu pragma. Specifies the number of CPUs required per allocated GPU. Usage: –cpus-per-gpu <COUNT>

arg_varname: str = 'cpus_per_gpu'#
dest: str = '--cpus-per-gpu'#
example: str | None = '4'#
flags: List[str] = ['--cpus-per-gpu']#
help: str = 'number of CPUs required per allocated GPU'#
metavar: str | None = 'N'#
pragma_id: int = 4#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'gpus'#
type#

alias of str

class slurm_script_generator.pragmas.Cpus_per_task(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –cpus-per-task pragma. Sets the number of CPUs required per task. Usage: –cpus-per-task <COUNT>

arg_varname: str = 'cpus_per_task'#
dest: str = '--cpus-per-task'#
example: str | None = '16'#
flags: List[str] = ['-c', '--cpus-per-task']#
help: str = 'number of cpus required per task'#
metavar: str | None = 'NCPUS'#
pragma_id: int = 3#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'core_node_and_task_allocation'#
type#

alias of str

class slurm_script_generator.pragmas.Deadline(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –deadline pragma. Removes the job if it cannot finish before the specified deadline. Usage: –deadline <TIME>

arg_varname: str = 'deadline'#
dest: str = '--deadline'#
flags: List[str] = ['--deadline']#
help: str = 'remove the job if no ending possible before this deadline'#
metavar: str | None = 'TIME'#
pragma_id: int = 3#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'time_and_priority'#
type#

alias of str

class slurm_script_generator.pragmas.Delay_boot(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –delay-boot pragma. Delays node boot for desired features before job execution. Usage: –delay-boot <MINS>

arg_varname: str = 'delay_boot'#
dest: str = '--delay_boot'#
flags: List[str] = ['--delay-boot']#
help: str = 'delay boot for desired node features'#
metavar: str | None = 'MINS'#
pragma_id: int = 3#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'execution_behavior_and_signals'#
type#

alias of str

class slurm_script_generator.pragmas.Dependency(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –dependency pragma. Defers job start until a condition on another job ID is satisfied (e.g., after, afterok). Usage: –dependency <TYPE:JOBID[:TIME]>

arg_varname: str = 'dependency'#
dest: str = '--dependency'#
flags: List[str] = ['-d', '--dependency']#
help: str = 'defer job until condition on jobid is satisfied'#
metavar: str | None = 'TYPE:JOBID[:TIME]'#
pragma_id: int = 0#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'dependencies_and_arrays'#
type#

alias of str

class slurm_script_generator.pragmas.Disable_stdout_job_summary(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –disable-stdout-job-summary pragma. Disables the job summary in the stdout file for the job. Usage: –disable-stdout-job-summary

action: str | None = 'store_true'#
arg_varname: str = 'disable_stdout_job_summary'#
dest: str = '--disable-stdout-job-summary'#
flags: List[str] = ['--disable-stdout-job-summary']#
help: str = 'disable job summary in stdout file for the job'#
pragma_id: int = 3#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'io_and_directory'#
type#

alias of str

class slurm_script_generator.pragmas.Distribution(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –distribution pragma. Sets the distribution method for processes across nodes (block, cyclic, arbitrary). Usage: –distribution <TYPE>

arg_varname: str = 'distribution'#
choices: List[str] | None = ['block', 'cyclic', 'arbitrary']#
dest: str = '--distribution'#
flags: List[str] = ['-m', '--distribution']#
help: str = 'distribution method for processes to nodes'#
metavar: str | None = 'TYPE'#
pragma_id: int = 5#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'core_node_and_task_allocation'#
type#

alias of str

class slurm_script_generator.pragmas.Exclude(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –exclude pragma. Excludes a specific list of hosts from job allocation. Usage: –exclude <HOSTS>

arg_varname: str = 'exclude'#
dest: str = '--exclude'#
flags: List[str] = ['-x', '--exclude']#
help: str = 'exclude a specific list of hosts'#
metavar: str | None = 'HOST'#
nargs: str | None = '+'#
pragma_id: int = 5#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'node_constraints_and_selection'#
type#

alias of str

class slurm_script_generator.pragmas.Exclusive_mcs(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –exclusive-mcs pragma. Allocates nodes in exclusive mode when the mcs plugin is enabled. Usage: –exclusive-mcs

action: str | None = 'store_true'#
arg_varname: str = 'exclusive_mcs'#
dest: str = '--exclusive-mcs'#
flags: List[str] = ['--exclusive-mcs']#
help: str = 'allocate nodes in exclusive mode when mcs plugin is enabled'#
pragma_id: int = 1#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'exclusivity_and_sharing'#
type#

alias of str

class slurm_script_generator.pragmas.Exclusive_user(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –exclusive-user pragma. Allocates nodes in exclusive mode for CPU consumable resources. Usage: –exclusive-user

action: str | None = 'store_true'#
arg_varname: str = 'exclusive_user'#
dest: str = '--exclusive-user'#
flags: List[str] = ['--exclusive-user']#
help: str = 'allocate nodes in exclusive mode for cpu consumable resource'#
pragma_id: int = 0#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'exclusivity_and_sharing'#
type#

alias of str

class slurm_script_generator.pragmas.Extra_node_info(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –extra-node-info pragma. Combines requests for sockets, cores, and threads in a single specification. Usage: –extra-node-info <S[:C[:T]]>

arg_varname: str = 'extra_node_info'#
dest: str = '--extra-node-info'#
flags: List[str] = ['-B', '--extra-node-info']#
help: str = 'combine request of sockets, cores and threads'#
metavar: str | None = 'S[:C[:T]]'#
pragma_id: int = 5#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'cpu_topology_and_binding'#
type#

alias of str

class slurm_script_generator.pragmas.Get_user_env(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –get-user-env pragma. Used by Moab for environment setup; see srun man page for details. Usage: –get-user-env

action: str | None = 'store_true'#
arg_varname: str = 'get_user_env'#
dest: str = '--get-user-env'#
flags: List[str] = ['--get-user-env']#
help: str = 'used by Moab. See srun man page'#
pragma_id: int = 4#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'io_and_directory'#
type#

alias of str

class slurm_script_generator.pragmas.Gpu_bind(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –gpu-bind pragma. Specifies task-to-GPU binding options for optimal placement. Usage: –gpu-bind <OPTIONS>

arg_varname: str = 'gpu_bind'#
dest: str = '--gpu-bind'#
flags: List[str] = ['--gpu-bind']#
help: str = 'task to gpu binding options'#
metavar: str | None = '...'#
pragma_id: int = 6#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'gpus'#
type#

alias of str

class slurm_script_generator.pragmas.Gpu_freq(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –gpu-freq pragma. Sets the frequency and voltage of GPUs for the job. Usage: –gpu-freq <OPTIONS>

arg_varname: str = 'gpu_freq'#
dest: str = '--gpu-freq'#
flags: List[str] = ['--gpu-freq']#
help: str = 'frequency and voltage of GPUs'#
metavar: str | None = '...'#
pragma_id: int = 7#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'gpus'#
type#

alias of str

class slurm_script_generator.pragmas.Gpus(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –gpus pragma. Specifies the number of GPUs required for the job. Usage: –gpus <COUNT>

arg_varname: str = 'gpus'#
dest: str = '--gpus'#
example: str | None = '32'#
flags: List[str] = ['-G', '--gpus']#
help: str = 'count of GPUs required for the job'#
metavar: str | None = 'N'#
pragma_id: int = 0#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'gpus'#
type#

alias of str

class slurm_script_generator.pragmas.Gpus_per_node(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –gpus-per-node pragma. Sets the number of GPUs required per allocated node. Usage: –gpus-per-node <COUNT>

arg_varname: str = 'gpus_per_node'#
dest: str = '--gpus-per-node'#
flags: List[str] = ['--gpus-per-node']#
help: str = 'number of GPUs required per allocated node'#
metavar: str | None = 'N'#
pragma_id: int = 1#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'gpus'#
type#

alias of str

class slurm_script_generator.pragmas.Gpus_per_socket(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –gpus-per-socket pragma. Sets the number of GPUs required per allocated socket. Usage: –gpus-per-socket <COUNT>

arg_varname: str = 'gpus_per_socket'#
dest: str = '--gpus-per-socket'#
flags: List[str] = ['--gpus-per-socket']#
help: str = 'number of GPUs required per allocated socket'#
metavar: str | None = 'N'#
pragma_id: int = 3#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'gpus'#
type#

alias of str

class slurm_script_generator.pragmas.Gpus_per_task(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –gpus-per-task pragma. Specifies the number of GPUs required per spawned task. Usage: –gpus-per-task <COUNT>

arg_varname: str = 'gpus_per_task'#
dest: str = '--gpus-per-task'#
flags: List[str] = ['--gpus-per-task']#
help: str = 'number of GPUs required per spawned task'#
metavar: str | None = 'N'#
pragma_id: int = 2#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'gpus'#
type#

alias of str

class slurm_script_generator.pragmas.Gres(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –gres pragma. Specifies required generic resources (e.g., GPUs, licenses). Usage: –gres <LIST>

arg_varname: str = 'gres'#
dest: str = '--gres'#
flags: List[str] = ['--gres']#
help: str = 'required generic resources'#
metavar: str | None = 'LIST'#
pragma_id: int = 0#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'generic_resources_and_licenses'#
type#

alias of str

class slurm_script_generator.pragmas.Gres_flags(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –gres-flags pragma. Sets flags related to GRES (Generic Resource) management. Usage: –gres-flags <OPTIONS>

arg_varname: str = 'gres_flags'#
dest: str = '--gres-flags'#
flags: List[str] = ['--gres-flags']#
help: str = 'flags related to GRES management'#
metavar: str | None = 'OPTS'#
pragma_id: int = 1#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'generic_resources_and_licenses'#
type#

alias of str

class slurm_script_generator.pragmas.Hint(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –hint pragma. Provides application binding hints to optimize task placement. Usage: –hint <HINT>

arg_varname: str = 'hint'#
dest: str = '--hint'#
flags: List[str] = ['--hint']#
help: str = 'Bind tasks according to application hints'#
metavar: str | None = 'HINT'#
pragma_id: int = 6#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'cpu_topology_and_binding'#
type#

alias of str

class slurm_script_generator.pragmas.Hold(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –hold pragma. Submits the job in a held state, preventing immediate execution. Usage: –hold

action: str | None = 'store_true'#
arg_varname: str = 'hold'#
dest: str = '--hold'#
flags: List[str] = ['-H', '--hold']#
help: str = 'submit job in held state'#
pragma_id: int = 0#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'execution_behavior_and_signals'#
type#

alias of str

class slurm_script_generator.pragmas.Immediate(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –immediate pragma. Exits if resources are not available within the specified seconds. Usage: –immediate [SECS]

arg_varname: str = 'immediate'#
const: int | None = '0'#
dest: str = '--immediate'#
flags: List[str] = ['-I', '--immediate']#
help: str = 'exit if resources not available in "secs"'#
metavar: str | None = 'SECS'#
nargs: str | None = '?'#
pragma_id: int = 1#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'execution_behavior_and_signals'#
type#

alias of str

class slurm_script_generator.pragmas.Job_name(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –job-name pragma. Sets a custom name for the submitted job, which appears in job listings and output files. Usage: –job-name <NAME>

arg_varname: str = 'job_name'#
dest: str = '--job-name'#
example: str | None = 'my_job'#
flags: List[str] = ['-J', '--job-name']#
help: str = 'name of job'#
metavar: str | None = 'NAME'#
pragma_id: int = 0#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'job_config'#
type#

alias of str

class slurm_script_generator.pragmas.Kill_command(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –kill-command pragma. Specifies the signal to send when terminating the job. Usage: –kill-command [SIGNAL]

arg_varname: str = 'kill_command'#
const: int | None = 'TERM'#
dest: str = '--kill-command'#
flags: List[str] = ['-K', '--kill-command']#
help: str = 'signal to send terminating job'#
metavar: str | None = 'SIGNAL'#
nargs: str | None = '?'#
pragma_id: int = 5#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'execution_behavior_and_signals'#
type#

alias of str

class slurm_script_generator.pragmas.Licenses(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –licenses pragma. Specifies required licenses for the job, comma separated. Usage: –licenses <NAMES>

arg_varname: str = 'licenses'#
dest: str = '--licenses'#
flags: List[str] = ['-L', '--licenses']#
help: str = 'required license, comma separated'#
metavar: str | None = 'NAMES'#
pragma_id: int = 4#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'generic_resources_and_licenses'#
type#

alias of str

class slurm_script_generator.pragmas.Mail_type(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –mail-type pragma. Sets which job state changes trigger email notifications (e.g., BEGIN, END, FAIL). Usage: –mail-type <TYPE>

arg_varname: str = 'mail_type'#
choices: List[str] | None = ['NONE', 'BEGIN', 'END', 'FAIL', 'REQUEUE', 'ALL']#
dest: str = '--mail-type'#
example: str | None = 'ALL'#
flags: List[str] = ['--mail-type']#
help: str = 'notify on state change'#
metavar: str | None = 'TYPE'#
pragma_id: int = 1#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'notifications'#
type#

alias of str

class slurm_script_generator.pragmas.Mail_user(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –mail-user pragma. Specifies the email address to receive job state notifications. Usage: –mail-user <EMAIL>

arg_varname: str = 'mail_user'#
dest: str = '--mail-user'#
example: str | None = 'example@email.com'#
flags: List[str] = ['--mail-user']#
help: str = 'who to send email notification for job state changes'#
metavar: str | None = 'USER'#
pragma_id: int = 0#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'notifications'#
type#

alias of str

class slurm_script_generator.pragmas.Mcs_label(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –mcs-label pragma. Sets an MCS label if the mcs plugin is enabled, for group-based resource allocation. Usage: –mcs-label <LABEL>

arg_varname: str = 'mcs_label'#
dest: str = '--mcs-label'#
flags: List[str] = ['--mcs-label']#
help: str = 'mcs label if mcs plugin mcs/group is used'#
metavar: str | None = 'MCS'#
pragma_id: int = 7#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'job_config'#
type#

alias of str

class slurm_script_generator.pragmas.Mem(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –mem pragma. Sets the minimum amount of real memory required for the job. Usage: –mem <SIZE>

arg_varname: str = 'mem'#
dest: str = '--mem'#
example: str | None = '25GB'#
flags: List[str] = ['--mem']#
help: str = 'minimum amount of real memory'#
metavar: str | None = 'MB'#
pragma_id: int = 0#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'memory'#
type#

alias of str

class slurm_script_generator.pragmas.Mem_bind(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –mem-bind pragma. Binds memory to locality domains for performance optimization. Usage: –mem-bind <BIND>

arg_varname: str = 'mem_bind'#
dest: str = '--mem-bind'#
flags: List[str] = ['--mem-bind']#
help: str = 'Bind memory to locality domains'#
metavar: str | None = 'BIND'#
pragma_id: int = 2#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'memory'#
type#

alias of str

class slurm_script_generator.pragmas.Mem_per_cpu(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –mem-per-cpu pragma. Specifies the maximum amount of real memory per allocated CPU. Usage: –mem-per-cpu <SIZE>

arg_varname: str = 'mem_per_cpu'#
dest: str = '--mem-per-cpu'#
flags: List[str] = ['--mem-per-cpu']#
help: str = 'maximum amount of real memory per allocated cpu'#
metavar: str | None = 'MB'#
pragma_id: int = 1#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'memory'#
type#

alias of str

class slurm_script_generator.pragmas.Mem_per_gpu(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –mem-per-gpu pragma. Sets the real memory required per allocated GPU. Usage: –mem-per-gpu <SIZE>

arg_varname: str = 'mem_per_gpu'#
dest: str = '--mem-per-gpu'#
example: str | None = '8GB'#
flags: List[str] = ['--mem-per-gpu']#
help: str = 'real memory required per allocated GPU'#
pragma_id: int = 5#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'gpus'#
type#

alias of str

class slurm_script_generator.pragmas.Mincpus(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –mincpus pragma. Specifies the minimum number of logical processors per node. Usage: –mincpus <COUNT>

arg_varname: str = 'mincpus'#
dest: str = '--mincpus'#
flags: List[str] = ['--mincpus']#
help: str = 'minimum number of logical processors per node'#
metavar: str | None = 'N'#
pragma_id: int = 4#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'core_node_and_task_allocation'#
type#

alias of str

class slurm_script_generator.pragmas.Nice(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –nice pragma. Decreases the job’s scheduling priority by the specified value. Usage: –nice <VALUE>

arg_varname: str = 'nice'#
dest: str = '--nice'#
example: str | None = '1'#
flags: List[str] = ['--nice']#
help: str = 'decrease scheduling priority by value'#
metavar: str | None = 'VALUE'#
pragma_id: int = 5#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'time_and_priority'#
type#

alias of str

class slurm_script_generator.pragmas.No_kill(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –no-kill pragma. Prevents job termination on node failure. Usage: –no-kill

action: str | None = 'store_true'#
arg_varname: str = 'no_kill'#
dest: str = '--no-kill'#
flags: List[str] = ['-k', '--no-kill']#
help: str = 'do not kill job on node failure'#
pragma_id: int = 4#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'execution_behavior_and_signals'#
type#

alias of str

class slurm_script_generator.pragmas.Nodefile(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –nodefile pragma. Requests a specific list of hosts from a file for job execution. Usage: –nodefile <FILENAME>

arg_varname: str = 'nodefile'#
dest: str = '--nodefile'#
flags: List[str] = ['-F', '--nodefile']#
help: str = 'request a specific list of hosts'#
metavar: str | None = 'FILENAME'#
pragma_id: int = 4#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'node_constraints_and_selection'#
type#

alias of str

class slurm_script_generator.pragmas.Nodelist(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –nodelist pragma. Requests a specific list of hosts for job execution. Usage: –nodelist <HOSTS>

arg_varname: str = 'nodelist'#
dest: str = '--nodelist'#
flags: List[str] = ['-w', '--nodelist']#
help: str = 'request a specific list of hosts'#
metavar: str | None = 'HOST'#
nargs: str | None = '+'#
pragma_id: int = 3#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'node_constraints_and_selection'#
type#

alias of str

class slurm_script_generator.pragmas.Nodes(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –nodes pragma. Specifies the number of nodes to allocate for the job. Usage: –nodes <COUNT>

arg_varname: str = 'nodes'#
dest: str = '--nodes'#
example: str | None = '2'#
flags: List[str] = ['-N', '--nodes']#
help: str = 'number of nodes on which to run'#
metavar: str | None = 'NODES'#
pragma_id: int = 0#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'core_node_and_task_allocation'#
type#

alias of int

class slurm_script_generator.pragmas.Ntasks(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –ntasks pragma. Sets the total number of tasks (processes) to run for the job. Usage: –ntasks <COUNT>

arg_varname: str = 'ntasks'#
dest: str = '--ntasks'#
example: str | None = '16'#
flags: List[str] = ['-n', '--ntasks']#
help: str = 'number of processors required'#
metavar: str | None = 'N'#
pragma_id: int = 1#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'core_node_and_task_allocation'#
type#

alias of str

class slurm_script_generator.pragmas.Ntasks_per_core(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –ntasks-per-core pragma. Sets the number of tasks to invoke on each core. Usage: –ntasks-per-core <COUNT>

arg_varname: str = 'ntasks_per_core'#
dest: str = '--ntasks-per-core'#
example: str | None = '16'#
flags: List[str] = ['--ntasks-per-core']#
help: str = 'number of tasks to invoke on each core'#
metavar: str | None = 'N'#
pragma_id: int = 3#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'cpu_topology_and_binding'#
type#

alias of str

class slurm_script_generator.pragmas.Ntasks_per_node(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –ntasks-per-node pragma. Specifies the number of tasks to invoke on each node. Usage: –ntasks-per-node <COUNT>

arg_varname: str = 'ntasks_per_node'#
dest: str = '--ntasks-per-node'#
example: str | None = '16'#
flags: List[str] = ['--ntasks-per-node']#
help: str = 'number of tasks to invoke on each node'#
metavar: str | None = 'N'#
pragma_id: int = 2#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'core_node_and_task_allocation'#
type#

alias of int

class slurm_script_generator.pragmas.Ntasks_per_socket(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –ntasks-per-socket pragma. Specifies the number of tasks to invoke on each socket. Usage: –ntasks-per-socket <COUNT>

arg_varname: str = 'ntasks_per_socket'#
dest: str = '--ntasks-per-socket'#
example: str | None = '8'#
flags: List[str] = ['--ntasks-per-socket']#
help: str = 'number of tasks to invoke on each socket'#
metavar: str | None = 'N'#
pragma_id: int = 4#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'cpu_topology_and_binding'#
type#

alias of str

class slurm_script_generator.pragmas.Nvmps(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –nvmps pragma. Launches NVIDIA MPS (Multi-Process Service) for the job. Usage: –nvmps

action: str | None = 'store_true'#
arg_varname: str = 'nvmps'#
dest: str = '--nvmps'#
flags: List[str] = ['--nvmps']#
help: str = 'launching NVIDIA MPS for job'#
pragma_id: int = 8#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'gpus'#
type#

alias of str

class slurm_script_generator.pragmas.Oom_kill_step(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –oom-kill-step pragma. Sets the OOMKillStep behavior for jobs that exceed memory limits. Usage: –oom-kill-step <0|1>

arg_varname: str = 'oom_kill_step'#
const: int | None = '1'#
dest: str = '--oom-kill-step'#
flags: List[str] = ['--oom-kill-step']#
help: str = 'set the OOMKillStep behaviour'#
metavar: str | None = '0|1'#
nargs: str | None = '?'#
pragma_id: int = 3#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'memory'#
type#

alias of str

class slurm_script_generator.pragmas.Overcommit(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –overcommit pragma. Allows resources to be overcommitted for the job. Usage: –overcommit

action: str | None = 'store_true'#
arg_varname: str = 'overcommit'#
dest: str = '--overcommit'#
flags: List[str] = ['-O', '--overcommit']#
help: str = 'overcommit resources'#
pragma_id: int = 3#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'exclusivity_and_sharing'#
type#

alias of str

class slurm_script_generator.pragmas.Oversubscribe(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –oversubscribe pragma. Allows resources to be oversubscribed with other jobs. Usage: –oversubscribe

action: str | None = 'store_true'#
arg_varname: str = 'oversubscribe'#
dest: str = '--oversubscribe'#
flags: List[str] = ['-s', '--oversubscribe']#
help: str = 'oversubscribe resources with other jobs'#
pragma_id: int = 2#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'exclusivity_and_sharing'#
type#

alias of str

class slurm_script_generator.pragmas.Partition(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –partition pragma. Requests a specific partition (queue) for job scheduling. Usage: –partition <PARTITION>

arg_varname: str = 'partition'#
dest: str = '--partition'#
flags: List[str] = ['-p', '--partition']#
help: str = 'partition requested'#
metavar: str | None = 'PARTITION'#
pragma_id: int = 2#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'job_config'#
type#

alias of str

class slurm_script_generator.pragmas.Power(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –power pragma. Sets power management options for the job. Usage: –power <FLAGS>

arg_varname: str = 'power'#
dest: str = '--power'#
flags: List[str] = ['--power']#
help: str = 'power management options'#
metavar: str | None = 'FLAGS'#
pragma_id: int = 6#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'advanced_hardware_misc'#
type#

alias of str

class slurm_script_generator.pragmas.Pragma(value: str)[source]#

Bases: object

Base class representing a SLURM #SBATCH pragma.

action: str | None = None#
arg_varname: str#
choices: List[str] | None = None#
const: int | None = None#
default: str | None = None#
dest: str = ''#
example: str | None = None#
flags: List[str] = []#
help: str = ''#
metavar: str | None = None#
nargs: str | None = None#
pragma_id: int#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins']#
to_dict() dict[str, Any][source]#
type#

alias of str

class slurm_script_generator.pragmas.PragmaFactory[source]#

Bases: object

Factory class for creating and managing SLURM pragma classes. Provides methods to validate pragma keys, create pragma instances, and retrieve pragma classes.

static create_pragma(key: str, value: str) Pragma[source]#

Create a Pragma instance for the given key and value.

Parameters:
  • key (str :) – The pragma key.

  • key – str:

  • value (str :) – str:

  • key

  • value

Raises:

ValueError – If the key is not valid.

static flag_to_pragma(flag: str, value: str) Pragma | None[source]#

Create a Pragma instance based on a flag and value.

Parameters:
  • flag (str :) – The flag associated with the pragma (e.g., ‘–job-name’).

  • flag – str:

  • value (str :) – str:

  • flag

  • value

Raises:

ValueError – If the flag is not recognized.

static get_pragma_cls(key: str) Type[Pragma][source]#

Retrieve the Pragma class for a given key.

Parameters:
  • key (str :) – str:

  • key

Raises:

ValueError – If the key is not valid.

static is_valid_pragma_key(key: str) bool[source]#

Check if a given key is a valid pragma key.

Parameters:
  • key (str :) – str:

  • key

Returns:

True if the key is valid, False otherwise.

Return type:

bool

pragmas = {'account': <class 'slurm_script_generator.pragmas.Account'>, 'array': <class 'slurm_script_generator.pragmas.Array'>, 'bb_file': <class 'slurm_script_generator.pragmas.Bb_file'>, 'begin': <class 'slurm_script_generator.pragmas.Begin'>, 'bell': <class 'slurm_script_generator.pragmas.Bell'>, 'burst_buffer': <class 'slurm_script_generator.pragmas.Burst_buffer'>, 'chdir': <class 'slurm_script_generator.pragmas.Chdir'>, 'cluster_constraint': <class 'slurm_script_generator.pragmas.Cluster_constraint'>, 'clusters': <class 'slurm_script_generator.pragmas.Clusters'>, 'comment': <class 'slurm_script_generator.pragmas.Comment'>, 'constraint': <class 'slurm_script_generator.pragmas.Constraint'>, 'container': <class 'slurm_script_generator.pragmas.Container'>, 'container_id': <class 'slurm_script_generator.pragmas.Container_id'>, 'contiguous': <class 'slurm_script_generator.pragmas.Contiguous'>, 'core_spec': <class 'slurm_script_generator.pragmas.Core_spec'>, 'cores_per_socket': <class 'slurm_script_generator.pragmas.Cores_per_socket'>, 'cpu_freq': <class 'slurm_script_generator.pragmas.Cpu_freq'>, 'cpus_per_gpu': <class 'slurm_script_generator.pragmas.Cpus_per_gpu'>, 'cpus_per_task': <class 'slurm_script_generator.pragmas.Cpus_per_task'>, 'deadline': <class 'slurm_script_generator.pragmas.Deadline'>, 'delay_boot': <class 'slurm_script_generator.pragmas.Delay_boot'>, 'dependency': <class 'slurm_script_generator.pragmas.Dependency'>, 'disable_stdout_job_summary': <class 'slurm_script_generator.pragmas.Disable_stdout_job_summary'>, 'distribution': <class 'slurm_script_generator.pragmas.Distribution'>, 'exclude': <class 'slurm_script_generator.pragmas.Exclude'>, 'exclusive_mcs': <class 'slurm_script_generator.pragmas.Exclusive_mcs'>, 'exclusive_user': <class 'slurm_script_generator.pragmas.Exclusive_user'>, 'extra_node_info': <class 'slurm_script_generator.pragmas.Extra_node_info'>, 'get_user_env': <class 'slurm_script_generator.pragmas.Get_user_env'>, 'gpu_bind': <class 'slurm_script_generator.pragmas.Gpu_bind'>, 'gpu_freq': <class 'slurm_script_generator.pragmas.Gpu_freq'>, 'gpus': <class 'slurm_script_generator.pragmas.Gpus'>, 'gpus_per_node': <class 'slurm_script_generator.pragmas.Gpus_per_node'>, 'gpus_per_socket': <class 'slurm_script_generator.pragmas.Gpus_per_socket'>, 'gpus_per_task': <class 'slurm_script_generator.pragmas.Gpus_per_task'>, 'gres': <class 'slurm_script_generator.pragmas.Gres'>, 'gres_flags': <class 'slurm_script_generator.pragmas.Gres_flags'>, 'hint': <class 'slurm_script_generator.pragmas.Hint'>, 'hold': <class 'slurm_script_generator.pragmas.Hold'>, 'immediate': <class 'slurm_script_generator.pragmas.Immediate'>, 'job_name': <class 'slurm_script_generator.pragmas.Job_name'>, 'kill_command': <class 'slurm_script_generator.pragmas.Kill_command'>, 'licenses': <class 'slurm_script_generator.pragmas.Licenses'>, 'mail_type': <class 'slurm_script_generator.pragmas.Mail_type'>, 'mail_user': <class 'slurm_script_generator.pragmas.Mail_user'>, 'mcs_label': <class 'slurm_script_generator.pragmas.Mcs_label'>, 'mem': <class 'slurm_script_generator.pragmas.Mem'>, 'mem_bind': <class 'slurm_script_generator.pragmas.Mem_bind'>, 'mem_per_cpu': <class 'slurm_script_generator.pragmas.Mem_per_cpu'>, 'mem_per_gpu': <class 'slurm_script_generator.pragmas.Mem_per_gpu'>, 'mincpus': <class 'slurm_script_generator.pragmas.Mincpus'>, 'nice': <class 'slurm_script_generator.pragmas.Nice'>, 'no_kill': <class 'slurm_script_generator.pragmas.No_kill'>, 'nodefile': <class 'slurm_script_generator.pragmas.Nodefile'>, 'nodelist': <class 'slurm_script_generator.pragmas.Nodelist'>, 'nodes': <class 'slurm_script_generator.pragmas.Nodes'>, 'ntasks': <class 'slurm_script_generator.pragmas.Ntasks'>, 'ntasks_per_core': <class 'slurm_script_generator.pragmas.Ntasks_per_core'>, 'ntasks_per_node': <class 'slurm_script_generator.pragmas.Ntasks_per_node'>, 'ntasks_per_socket': <class 'slurm_script_generator.pragmas.Ntasks_per_socket'>, 'nvmps': <class 'slurm_script_generator.pragmas.Nvmps'>, 'oom_kill_step': <class 'slurm_script_generator.pragmas.Oom_kill_step'>, 'overcommit': <class 'slurm_script_generator.pragmas.Overcommit'>, 'oversubscribe': <class 'slurm_script_generator.pragmas.Oversubscribe'>, 'partition': <class 'slurm_script_generator.pragmas.Partition'>, 'power': <class 'slurm_script_generator.pragmas.Power'>, 'priority': <class 'slurm_script_generator.pragmas.Priority'>, 'profile': <class 'slurm_script_generator.pragmas.Profile'>, 'qos': <class 'slurm_script_generator.pragmas.Qos'>, 'quiet': <class 'slurm_script_generator.pragmas.Quiet'>, 'reboot': <class 'slurm_script_generator.pragmas.Reboot'>, 'reservation': <class 'slurm_script_generator.pragmas.Reservation'>, 'resv_ports': <class 'slurm_script_generator.pragmas.Resv_ports'>, 'signal': <class 'slurm_script_generator.pragmas.Signal'>, 'sockets_per_node': <class 'slurm_script_generator.pragmas.Sockets_per_node'>, 'spread_job': <class 'slurm_script_generator.pragmas.Spread_job'>, 'stderr': <class 'slurm_script_generator.pragmas.Stderr'>, 'stdout': <class 'slurm_script_generator.pragmas.Stdout'>, 'switches': <class 'slurm_script_generator.pragmas.Switches'>, 'thread_spec': <class 'slurm_script_generator.pragmas.Thread_spec'>, 'threads_per_core': <class 'slurm_script_generator.pragmas.Threads_per_core'>, 'time': <class 'slurm_script_generator.pragmas.Time'>, 'time_min': <class 'slurm_script_generator.pragmas.Time_min'>, 'tmp': <class 'slurm_script_generator.pragmas.Tmp'>, 'tres_bind': <class 'slurm_script_generator.pragmas.Tres_bind'>, 'tres_per_task': <class 'slurm_script_generator.pragmas.Tres_per_task'>, 'use_min_nodes': <class 'slurm_script_generator.pragmas.Use_min_nodes'>, 'wckey': <class 'slurm_script_generator.pragmas.Wckey'>}#
class slurm_script_generator.pragmas.Priority(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –priority pragma. Sets the priority value for the job, influencing scheduling order. Usage: –priority <VALUE>

arg_varname: str = 'priority'#
dest: str = '--priority'#
flags: List[str] = ['--priority']#
help: str = 'set the priority of the job'#
metavar: str | None = 'VALUE'#
pragma_id: int = 4#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'time_and_priority'#
type#

alias of str

class slurm_script_generator.pragmas.Profile(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –profile pragma. Enables acct_gather_profile for detailed job data collection. Usage: –profile <VALUE>

arg_varname: str = 'profile'#
dest: str = '--profile'#
flags: List[str] = ['--profile']#
help: str = 'enable acct_gather_profile for detailed data'#
metavar: str | None = 'VALUE'#
pragma_id: int = 7#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'advanced_hardware_misc'#
type#

alias of str

class slurm_script_generator.pragmas.Qos(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –qos pragma. Sets the quality of service for the job, affecting priority and limits. Usage: –qos <QOS>

arg_varname: str = 'qos'#
dest: str = '--qos'#
flags: List[str] = ['-q', '--qos']#
help: str = 'quality of service'#
metavar: str | None = 'QOS'#
pragma_id: int = 3#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'job_config'#
type#

alias of str

class slurm_script_generator.pragmas.Quiet(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –quiet pragma. Suppresses informational messages during job submission. Usage: –quiet

action: str | None = 'store_true'#
arg_varname: str = 'quiet'#
dest: str = '--quiet'#
flags: List[str] = ['-Q', '--quiet']#
help: str = 'quiet mode (suppress informational messages)'#
pragma_id: int = 5#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'io_and_directory'#
type#

alias of str

class slurm_script_generator.pragmas.Reboot(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –reboot pragma. Reboots compute nodes before starting the job. Usage: –reboot

action: str | None = 'store_true'#
arg_varname: str = 'reboot'#
dest: str = '--reboot'#
flags: List[str] = ['--reboot']#
help: str = 'reboot compute nodes before starting job'#
pragma_id: int = 2#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'execution_behavior_and_signals'#
type#

alias of str

class slurm_script_generator.pragmas.Reservation(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –reservation pragma. Allocates resources from a named reservation, useful for reserved compute time or special projects. Usage: –reservation <RESERVATION_NAME>

arg_varname: str = 'reservation'#
dest: str = '--reservation'#
flags: List[str] = ['--reservation']#
help: str = 'allocate resources from named reservation'#
metavar: str | None = 'NAME'#
pragma_id: int = 5#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'job_config'#
type#

alias of str

class slurm_script_generator.pragmas.Resv_ports(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –resv-ports pragma. Reserves communication ports for the job. Usage: –resv-ports

action: str | None = 'store_true'#
arg_varname: str = 'resv_ports'#
dest: str = '--resv-ports'#
flags: List[str] = ['--resv-ports']#
help: str = 'reserve communication ports'#
pragma_id: int = 4#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'advanced_hardware_misc'#
type#

alias of str

class slurm_script_generator.pragmas.Signal(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –signal pragma. Sends a signal when the time limit is within the specified seconds. Usage: –signal [R:]NUM[@TIME]

arg_varname: str = 'signal'#
dest: str = '--signal'#
flags: List[str] = ['--signal']#
help: str = 'send signal when time limit within time seconds'#
metavar: str | None = '[R:]NUM[@TIME]'#
pragma_id: int = 6#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'execution_behavior_and_signals'#
type#

alias of str

class slurm_script_generator.pragmas.Sockets_per_node(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –sockets-per-node pragma. Specifies the number of sockets per node to allocate. Usage: –sockets-per-node <COUNT>

arg_varname: str = 'sockets_per_node'#
dest: str = '--sockets-per-node'#
flags: List[str] = ['--sockets-per-node']#
help: str = 'number of sockets per node to allocate'#
metavar: str | None = 'S'#
pragma_id: int = 0#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'cpu_topology_and_binding'#
type#

alias of str

class slurm_script_generator.pragmas.Spread_job(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –spread-job pragma. Spreads the job across as many nodes as possible. Usage: –spread-job

action: str | None = 'store_true'#
arg_varname: str = 'spread_job'#
dest: str = '--spread-job'#
flags: List[str] = ['--spread-job']#
help: str = 'spread job across as many nodes as possible'#
pragma_id: int = 6#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'core_node_and_task_allocation'#
type#

alias of str

class slurm_script_generator.pragmas.Stderr(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –stderr pragma. Redirects job standard error to a specified file, supporting job and jobname variables. Usage: –stderr <FILE>

arg_varname: str = 'stderr'#
dest: str = '--stderr'#
example: str | None = '--stderr ./%x.%j.err'#
flags: List[str] = ['--stderr', '-e']#
help: str = 'File to redirect stderr (%%x=jobname, %%j=jobid)'#
metavar: str | None = 'STDERR'#
pragma_id: int = 2#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'io_and_directory'#
type#

alias of str

class slurm_script_generator.pragmas.Stdout(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –stdout pragma. Redirects job standard output to a specified file, supporting job and jobname variables. Usage: –stdout <FILE>

arg_varname: str = 'stdout'#
dest: str = '--stdout'#
example: str | None = '--stdout ./%x.%j.out'#
flags: List[str] = ['--stdout', '-o']#
help: str = 'File to redirect stdout (%%x=jobname, %%j=jobid)'#
metavar: str | None = 'STDOUT'#
pragma_id: int = 1#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'io_and_directory'#
type#

alias of str

class slurm_script_generator.pragmas.Switches(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –switches pragma. Sets optimum switches and maximum wait time for optimum. Usage: –switches <MAX_SWITCHES[@MAX_TIME]>

arg_varname: str = 'switches'#
dest: str = '--switches'#
flags: List[str] = ['--switches']#
help: str = 'optimum switches and max time to wait for optimum'#
metavar: str | None = 'MAX_SWITCHES[@MAX_TIME]'#
pragma_id: int = 5#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'advanced_hardware_misc'#
type#

alias of str

class slurm_script_generator.pragmas.Thread_spec(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –thread-spec pragma. Sets the count of reserved threads for the job. Usage: –thread-spec <THREADS>

arg_varname: str = 'thread_spec'#
dest: str = '--thread-spec'#
flags: List[str] = ['--thread-spec']#
help: str = 'count of reserved threads'#
metavar: str | None = 'THREADS'#
pragma_id: int = 1#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'advanced_hardware_misc'#
type#

alias of str

class slurm_script_generator.pragmas.Threads_per_core(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –threads-per-core pragma. Specifies the number of threads per core to allocate. Usage: –threads-per-core <COUNT>

arg_varname: str = 'threads_per_core'#
dest: str = '--threads-per-core'#
example: str | None = '4'#
flags: List[str] = ['--threads-per-core']#
help: str = 'number of threads per core to allocate'#
metavar: str | None = 'T'#
pragma_id: int = 2#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'cpu_topology_and_binding'#
type#

alias of str

class slurm_script_generator.pragmas.Time(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –time pragma. Sets the maximum walltime for the job in minutes or HH:MM:SS format. Usage: –time <DURATION>

arg_varname: str = 'time'#
dest: str = '--time'#
example: str | None = '00:45:00'#
flags: List[str] = ['-t', '--time']#
help: str = 'time limit'#
metavar: str | None = 'MINUTES'#
pragma_id: int = 0#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'time_and_priority'#
type#

alias of str

class slurm_script_generator.pragmas.Time_min(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –time-min pragma. Specifies the minimum walltime for the job, if distinct from the maximum. Usage: –time-min <DURATION>

arg_varname: str = 'time_min'#
dest: str = '--time_min'#
flags: List[str] = ['--time-min']#
help: str = 'minimum time limit (if distinct)'#
metavar: str | None = 'MINUTES'#
pragma_id: int = 1#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'time_and_priority'#
type#

alias of str

class slurm_script_generator.pragmas.Tmp(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –tmp pragma. Sets the minimum amount of temporary disk required for the job. Usage: –tmp <SIZE>

arg_varname: str = 'tmp'#
dest: str = '--tmp'#
flags: List[str] = ['--tmp']#
help: str = 'minimum amount of temporary disk'#
metavar: str | None = 'MB'#
pragma_id: int = 3#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'advanced_hardware_misc'#
type#

alias of str

class slurm_script_generator.pragmas.Tres_bind(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –tres-bind pragma. Specifies task-to-TRES binding options for resource allocation. Usage: –tres-bind <OPTIONS>

arg_varname: str = 'tres_bind'#
dest: str = '--tres-bind'#
flags: List[str] = ['--tres-bind']#
help: str = 'task to tres binding options'#
metavar: str | None = '...'#
pragma_id: int = 2#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'generic_resources_and_licenses'#
type#

alias of str

class slurm_script_generator.pragmas.Tres_per_task(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –tres-per-task pragma. Sets the list of TRES (Trackable Resources) required per task. Usage: –tres-per-task <LIST>

arg_varname: str = 'tres_per_task'#
dest: str = '--tres-per-task'#
flags: List[str] = ['--tres-per-task']#
help: str = 'list of tres required per task'#
metavar: str | None = 'LIST'#
pragma_id: int = 3#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'generic_resources_and_licenses'#
type#

alias of str

class slurm_script_generator.pragmas.Use_min_nodes(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –use-min-nodes pragma. If a range of node counts is given, prefers the smaller count for allocation. Usage: –use-min-nodes

action: str | None = 'store_true'#
arg_varname: str = 'use_min_nodes'#
dest: str = '--use-min-nodes'#
flags: List[str] = ['--use-min-nodes']#
help: str = 'if a range of node counts is given, prefer the smaller count'#
pragma_id: int = 7#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'core_node_and_task_allocation'#
type#

alias of str

class slurm_script_generator.pragmas.Wckey(value: str)[source]#

Bases: Pragma

Represents the SLURM #SBATCH –wckey pragma. Runs the job under a specified workload key (wckey) for accounting or tracking purposes. Usage: –wckey <WCKEY>

arg_varname: str = 'wckey'#
dest: str = '--wckey'#
flags: List[str] = ['--wckey']#
help: str = 'wckey to run job under'#
metavar: str | None = 'WCKEY'#
pragma_id: int = 6#
pragma_type: Literal['job_config', 'time_and_priority', 'io_and_directory', 'notifications', 'dependencies_and_arrays', 'core_node_and_task_allocation', 'cpu_topology_and_binding', 'memory', 'gpus', 'generic_resources_and_licenses', 'node_constraints_and_selection', 'exclusivity_and_sharing', 'execution_behavior_and_signals', 'advanced_hardware_misc', 'plugins'] = 'job_config'#
type#

alias of str