Python API
The main entry point for the Python API is the reftrace
namespace.
This has the core classes.
Individual directives are available under the reftrace.directives
namespace.
Parts of the configuration file are available under the reftrace.configfile
namespace.
API version: 0.4.8
Core Classes
Available under the reftrace
namespace.
class Module
Represents a Nextflow module that contains process definitions.
property path : str
The file path of the module.
property dsl_version : int
The DSL (Domain Specific Language) version of the module.
property processes : List[Process]
All processes defined in this module.
class Process
Wrapper for protobuf Process message that provides easier access to directives.
property name : str
The name of the process.
property line : int
The line number where this process is defined.
property accelerators : List[Accelerator]
Accelerator directives for this process.
property after_scripts : List[AfterScript]
After script directives for this process.
property arches : List[Arch]
Architecture directives for this process.
property arrays : List[Array]
Array directives for this process.
property before_scripts : List[BeforeScript]
Before script directives for this process.
property caches : List[Cache]
Cache directives for this process.
property cluster_options : List[ClusterOptions]
Cluster options directives for this process.
property condas : List[Conda]
Conda directives for this process.
property containers : List[Container]
Container specifications for this process.
property container_options : List[ContainerOptions]
Container options directives for this process.
property cpus : List[Cpus]
CPU directives for this process.
property debugs : List[Debug]
Debug directives for this process.
property disks : List[Disk]
Disk directives for this process.
property dynamics : List[Dynamic]
Dynamic directives for this process.
property echos : List[Echo]
Echo directives for this process.
property error_strategies : List[ErrorStrategy]
Error strategy directives for this process.
property executors : List[Executor]
Executor directives for this process.
property exts : List[Ext]
Extension directives for this process.
property fairs : List[Fair]
Fair scheduling directives for this process.
property labels : List[Label]
Labels attached to this process.
property machine_types : List[MachineType]
Machine type directives for this process.
property max_errors : List[MaxErrors]
Maximum errors directives for this process.
property max_forks : List[MaxForks]
Maximum forks directives for this process.
property max_retries : List[MaxRetries]
Maximum retries directives for this process.
property max_submit_awaits : List[MaxSubmitAwait]
Maximum submit await directives for this process.
property memories : List[Memory]
Memory directives for this process.
property modules : List[Module]
Module directives for this process.
property penvs : List[Penv]
Parallel environment directives for this process.
property pods : List[Pod]
Pod directives for this process.
property publish_dirs : List[PublishDir]
Publish directory directives for this process.
property queues : List[Queue]
Queue directives for this process.
property resource_labels : List[ResourceLabels]
Resource labels directives for this process.
property resource_limits : List[ResourceLimits]
Resource limits directives for this process.
property scratches : List[Scratch]
Scratch directives for this process.
property shells : List[Shell]
Shell directives for this process.
property spacks : List[Spack]
Spack directives for this process.
property stage_in_modes : List[StageInMode]
Stage in mode directives for this process.
property stage_out_modes : List[StageOutMode]
Stage out mode directives for this process.
property store_dirs : List[StoreDir]
Store directory directives for this process.
property tags : List[Tag]
Tag directives for this process.
property times : List[Time]
Time directives for this process.
property unknowns : List[Unknown]
Unknown directives for this process.
property first_accelerator : Accelerator | None
First accelerator directive or None.
property first_after_script : AfterScript | None
First after script directive or None.
property first_arch : Arch | None
First architecture directive or None.
property first_array : Array | None
First array directive or None.
property first_before_script : BeforeScript | None
First before script directive or None.
property first_cache : Cache | None
First cache directive or None.
property first_cluster_options : ClusterOptions | None
First cluster options directive or None.
property first_conda : Conda | None
First conda directive or None.
property first_container : Container | None
First container directive or None.
property first_container_options : ContainerOptions | None
First container options directive or None.
property first_cpus : Cpus | None
First CPU directive or None.
property first_debug : Debug | None
First debug directive or None.
property first_disk : Disk | None
First disk directive or None.
property first_dynamic : Dynamic | None
First dynamic directive or None.
property first_echo : Echo | None
First echo directive or None.
property first_error_strategy : ErrorStrategy | None
First error strategy directive or None.
property first_executor : Executor | None
First executor directive or None.
property first_ext : Ext | None
First extension directive or None.
property first_fair : Fair | None
First fair scheduling directive or None.
property first_label : Label | None
First label directive or None.
property first_machine_type : MachineType | None
First machine type directive or None.
property first_max_errors : MaxErrors | None
First maximum errors directive or None.
property first_max_forks : MaxForks | None
First maximum forks directive or None.
property first_max_retries : MaxRetries | None
First maximum retries directive or None.
property first_max_submit_await : MaxSubmitAwait | None
First maximum submit await directive or None.
property first_memory : Memory | None
First memory directive or None.
property first_module : Module | None
First module directive or None.
property first_penv : Penv | None
First parallel environment directive or None.
property first_pod : Pod | None
First pod directive or None.
property first_publish_dir : PublishDir | None
First publish directory directive or None.
property first_queue : Queue | None
First queue directive or None.
property first_resource_labels : ResourceLabels | None
First resource labels directive or None.
property first_resource_limits : ResourceLimits | None
First resource limits directive or None.
property first_scratch : Scratch | None
First scratch directive or None.
property first_shell : Shell | None
First shell directive or None.
property first_spack : Spack | None
First spack directive or None.
property first_stage_in_mode : StageInMode | None
First stage in mode directive or None.
property first_stage_out_mode : StageOutMode | None
First stage out mode directive or None.
property first_store_dir : StoreDir | None
First store directory directive or None.
property first_tag : Tag | None
First tag directive or None.
property first_time : Time | None
First time directive or None.
property first_unknown : Unknown | None
First unknown directive or None.
class ConfigFile
Represents a Nextflow config file that contains process configurations.
property path : str
The file path of the config file.
property process_scopes : list[ProcessScope]
All process scopes defined in this config file.
Directives
Available under the reftrace.directives
namespace.
Directive types for Nextflow process analysis.
class Accelerator
The ‘accelerator’ directive specifies GPU requirements.
property num_gpus : int
Number of GPUs requested.
property gpu_type : str
Type of GPU requested.
line : int
class AfterScript
The ‘afterScript’ directive specifies a script to run after the main process.
property script : str
The script to execute after the main process.
line : int
class Arch
The ‘arch’ directive specifies architecture requirements.
property name : str
The architecture name.
property target : str
The architecture target.
line : int
class Array
The ‘array’ directive specifies array job size.
property size : int
The size of the array job.
line : int
class BeforeScript
The ‘beforeScript’ directive specifies a script to run before the main process.
property script : str
The script to execute before the main process.
line : int
class Cache
The ‘cache’ directive controls process-level caching behavior.
property enabled : bool
Whether caching is enabled.
property deep : bool
Whether deep caching is enabled.
property lenient : bool
Whether lenient caching is enabled.
line : int
class ClusterOptions
The ‘clusterOptions’ directive specifies additional cluster submission options.
property options : str
The cluster submission options string.
line : int
class Conda
The ‘conda’ directive specifies Conda environment requirements.
property possible_values : List[str]
List of possible Conda environment specifications.
line : int
class Container
The ‘container’ directive specifies the container image to use.
property format : ContainerFormat
The format of the container specification (simple or ternary).
property name : str
The container name/image.
property condition : str
The condition for ternary format.
property true_name : str
Container to use when condition is true.
property false_name : str
Container to use when condition is false.
line : int
class ContainerFormat
Container directive format types.
SIMPLE = 0
TERNARY = 1
class ContainerOptions
The ‘containerOptions’ directive specifies additional container runtime options.
property options : str
The container runtime options string.
line : int
class Cpus
The ‘cpus’ directive specifies CPU requirements.
property value : int
Number of CPUs requested.
line : int
class Debug
The ‘debug’ directive enables or disables debug mode for a process.
property enabled : bool
Whether debug mode is enabled.
line : int
class Disk
The ‘disk’ directive specifies disk space requirements.
property space : str
The disk space requirement (e.g., ‘2 GB’, ‘1 TB’).
line : int
class Dynamic
The ‘dynamic’ directive enables or disables dynamic input handling.
property enabled : bool
Whether dynamic input handling is enabled.
line : int
class Echo
The ‘echo’ directive enables or disables command echoing.
property enabled : bool
Whether command echoing is enabled.
line : int
class ErrorStrategy
The ‘errorStrategy’ directive specifies how to handle process errors.
property strategy : str
The error handling strategy (e.g., ‘terminate’, ‘ignore’, ‘retry’).
line : int
class Executor
The ‘executor’ directive specifies which executor to use for the process.
property executor : str
The executor name (e.g., ‘local’, ‘sge’, ‘slurm’).
line : int
class Ext
The ‘ext’ directive specifies extension configuration.
property version : str
The extension version.
property args : str
The extension arguments.
line : int
class Fair
The ‘fair’ directive enables or disables fair scheduling.
property enabled : bool
Whether fair scheduling is enabled.
line : int
class Label
The ‘label’ directive adds a label to the process for organization.
property value : str
The label text.
line : int
class MachineType
The ‘machineType’ directive specifies the cloud instance type.
property machine_type : str
The machine/instance type (e.g., ‘n1-standard-2’, ‘t2.micro’).
line : int
class MaxErrors
The ‘maxErrors’ directive specifies the maximum number of errors allowed.
property num : int
The maximum number of errors allowed.
line : int
class MaxForks
The ‘maxForks’ directive specifies the maximum number of parallel process instances.
property num : int
The maximum number of parallel forks allowed.
line : int
class MaxRetries
The ‘maxRetries’ directive specifies the maximum number of retry attempts.
property num : int
The maximum number of retry attempts allowed.
line : int
class MaxSubmitAwait
The ‘maxSubmitAwait’ directive specifies the maximum time to wait for job submission.
property max_submit_await : str
The maximum submission wait time (e.g., ‘1h’, ‘30m’).
line : int
class Memory
The ‘memory’ directive specifies memory requirements.
property memory_gb : float
The memory requirement in gigabytes.
line : int
class Module
The ‘module’ directive specifies environment modules to load.
property name : str
The name of the environment module to load.
line : int
class Penv
The ‘penv’ directive specifies the parallel environment to use.
property environment : str
The parallel environment name.
line : int
class Pod
The ‘pod’ directive specifies Kubernetes pod configuration.
property env : str
The pod environment variable name.
property value : str
The pod environment variable value.
line : int
class PublishDir
The ‘publishDir’ directive specifies where to publish output files.
property path : str
The directory path where files should be published.
property params : str
Additional publishing parameters.
property content_type : bool | None
Whether to determine content type.
property enabled : bool | None
Whether publishing is enabled.
property fail_on_error : bool | None
Whether to fail on publishing errors.
property mode : str
The publishing mode.
property overwrite : bool | None
Whether to overwrite existing files.
line : int
class Queue
The ‘queue’ directive specifies which job queue to use.
property name : str
The queue name.
line : int
class ResourceLabels
The ‘resourceLabels’ directive specifies labels for resources.
property labels : Dict[str, str]
The resource labels as a dictionary.
line : int
class ResourceLimits
The ‘resourceLimits’ directive specifies resource limits.
property limits : Dict[str, str]
The resource limits as a dictionary.
line : int
class Scratch
The ‘scratch’ directive specifies the scratch directory path.
property path : str
The scratch directory path.
line : int
class Shell
The ‘shell’ directive specifies the shell to use for script execution.
property shell : str
The shell to use (e.g., ‘bash’, ‘zsh’).
line : int
class Spack
The ‘spack’ directive specifies Spack package requirements.
property possible_values : List[str]
List of possible Spack package specifications.
line : int
class StageInMode
The ‘stageInMode’ directive specifies how input files should be staged.
property mode : str
The staging mode for input files (e.g., ‘copy’, ‘link’, ‘symlink’).
line : int
class StageOutMode
The ‘stageOutMode’ directive specifies how output files should be staged.
property mode : str
The staging mode for output files (e.g., ‘copy’, ‘move’, ‘rsync’).
line : int
class StoreDir
The ‘storeDir’ directive specifies where to store cached task outputs.
property path : str
The directory path where cached outputs should be stored.
line : int
class Tag
The ‘tag’ directive specifies a tag for the process execution.
property tag : str
The tag value.
line : int
class Time
The ‘time’ directive specifies the maximum execution time allowed.
property time : str
The time limit (e.g., ‘1h’, ‘30m’, ‘2d’).
line : int
class Unknown
A directive that isn’t recognized or supported.
property name : str
The name of the unknown directive.
property value : str
The raw value of the unknown directive.
line : int
Config File
Available under the reftrace.configfile
namespace.
class ProcessScope
Represents a process scope containing directives and named scopes.
property line_number : int
The line number where this scope begins.
property directives : list[Directive]
The directives in this scope.
property named_scopes : list[NamedScope]
The named scopes within this scope.
class NamedScope
Represents a named scope with its directives.
property line_number : int
The line number where this scope begins.
property name : str
The scope name.
property directives : list[Directive]
The directives in this scope.
class Directive
Represents a directive configuration.
property line_number : int
The line number where this directive appears.
property name : str
The directive name.
property options : list[NamedOption]
The directive options.
property value : Value
The directive value.
class NamedOption
Represents a named option with its value.
property line_number : int
The line number where this option appears.
property name : str
The option name.
property value : Value
The option value.
class Value
Represents a directive value with parameters and closure information.
property params : list[str]
The directive parameters.
property in_closure : bool
Whether the directive is in a closure.