Avoid SLURM result overrides when submitting multiple jobs in a tight loop by adding a 4-character UUID suffix to the auto-generated result_id (while leaving user-specified result_id values unchanged)
pm 0.1.13
New Features
Enhance store_image SLURM config option to allow saving only selected objects (instead of the entire workspace or nothing)
Improvements
Document and exemplify the store_image SLURM config option in the SLURM integration vignette, including how to save only selected objects when your workspace contains large, unneeded data
pm 0.1.12
Bug Fixes
Fix SLURM tests so they pass under R CMD check: use full path to Rscript (R requires a path, not bare "Rscript") in the mock job runner
Improvements
Expand test coverage for SLURM, analysis, project, parse_inputs, and file writing: add tests for print status (Running/Completed/Failed), config options (store_image, slurm_flags, modules, result_id), cancel failure, parse_inputs error paths and absolute paths, schema validation, pm_write_file object_names, pm_create_project .gitignore copy failure, and analysis project access when not associated with a project
Mock SLURM: when job is not done, squeue now returns "PENDING" so is_done() and print status behave correctly in tests
pm 0.1.11
New Features
Support subfolders in PMAnalysis$get_output_path
Support subfolders in PMAnalysis$list_outputs
Support subfolders in get_artifact (both PMAnalysis and PmProject)
pm 0.1.10
New Features
Support multiple names for the code folder name apart from “code” (also “src” and “scripts)
Update the template README to include reference to this package :)
pm 0.1.9
New Features
Added pm_infer_analysis to easily use package when writing code
Added active binding project to PMAnalysis object to easily access containing project
Add run_in_slurm() method to PMAnalysis for running R functions in SLURM batch jobs
Add PMSlurmRun R6 class for managing SLURM job execution (non-blocking submission, status checking, result retrieval)
Support for passing function arguments via ... and SLURM configuration via config parameter
Automatic job status checking with is_done() and is_successful() methods
Support for timeout-based blocking result retrieval with get_results(timeout = ...)
Results saved as RDS files for direct loading (intermediate artifact)
Generic SLURM script templates using environment variables for configuration
Comprehensive test suite with mock SLURM implementation for testing without actual SLURM
pm 0.1.8
New Features
Added pm_infer_analysis to easily use package when writing code
Added active binding project to PMAnalysis object to easily access containing project
pm 0.1.7
Major Changes
Renamed inputs.yaml to project.yaml for future features generalization.
Added TL;DR to the getting-started vignette
Added a README.md to the package
Minor Changes
Removed PRODUCT.md
pm 0.1.6
New Features
Add comprehensive vignettes: “Getting Started”, “Working with File Formats”, and “Defining Project Inputs”
Add get_intermediate_artifact() method to PMAnalysis for accessing intermediate files from the current analysis
Add support for searching artifacts across all analyses by explicitly passing analysis_name = NULL
Improved documentation and examples for artifact discovery and file format handling
Add knitr and rmarkdown to Suggests for vignette building
pm 0.1.5
New Features
Add get_artifact() method to PMProject for fetching output files from analyses by ID
Add get_artifact() method to PMAnalysis for fetching output files from other analyses
Add list_outputs() method to PMAnalysis for listing all output files in an analysis
Support for searching artifacts across all analyses or within a specific analysis
Automatic detection of ambiguous artifacts with helpful error messages
pm 0.1.4
New Features
Add get_output_path() method to PMAnalysis for generating output file paths
Support for type-based file extension inference (table, object, image, figure, parquet, pqt)
Automatic extension validation when both name and type are provided
Support for intermediate vs outputs folder selection
pm 0.1.3
New Features
Add PMAnalysis R6 class to manage analysis folders within projects
Add create_analysis() method to PMProject for creating new analyses from template
Add list_analyses() method to PMProject to get all analysis names
Add get_analysis() method to PMProject to retrieve analysis objects by name