Package: putior 0.2.0

putior: Generate Workflow Diagrams from Code Annotations

Provides tools for extracting and processing structured annotations from source files in 30+ programming languages to facilitate workflow visualization. The package scans source files for special 'PUT' annotations that define nodes, connections, and metadata within a data processing workflow. Supports R, Python, SQL, JavaScript, TypeScript, Go, Rust, Java, and more with automatic comment syntax detection. These annotations can then be used to generate visual representations of data flows and processing steps across polyglot software environments. Builds on concepts from literate programming Knuth (1984) <doi:10.1093/comjnl/27.2.97> and utilizes directed acyclic graph (DAG) theory for workflow representation Foraita, Spallek, and Zeeb (2014) <doi:10.1007/978-0-387-09834-0_65>. Diagram generation powered by 'Mermaid' Sveidqvist (2014) <https://mermaid.js.org/>.

Authors:Philipp Thoss [aut, cre]

putior_0.2.0.tar.gz
putior_0.2.0.zip(r-4.7)putior_0.2.0.zip(r-4.6)putior_0.2.0.zip(r-4.5)
putior_0.2.0.tgz(r-4.6-any)putior_0.2.0.tgz(r-4.5-any)
putior_0.2.0.tar.gz(r-4.7-any)putior_0.2.0.tar.gz(r-4.6-any)
putior_0.2.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
putior/json (API)

# Install 'putior' in R:
install.packages('putior', repos = c('https://pjt222.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/pjt222/putior/issues

Pkgdown/docs site:https://pjt222.github.io

On CRAN:

Conda:

7.33 score 5 stars 107 scripts 164 downloads 22 exports 0 dependencies

Last updated from:9cec4b6030. Checks:9 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-x86_64OK140
source / vignettesOK185
linux-release-x86_64OK150
macos-release-arm64OK149
macos-oldrel-arm64OK173
windows-develOK113
windows-releaseOK133
windows-oldrelOK136
wasm-releaseOK113

Exports:ext_to_languageget_comment_prefixget_detection_patternsget_diagram_themesget_supported_extensionsis_valid_put_annotationlist_supported_languagesputput_autoput_diagramput_generateput_mergeput_themeputior_acp_manifestputior_acp_serverputior_guideputior_helpputior_mcp_serverputior_mcp_toolsrun_sandboxset_putior_log_levelsplit_file_list

Dependencies:

AI Integration Guide
About This Vignette | For Humans | For AI Assistants | Programmatic Access | MCP/ACP Integration | Agent-Almanac Integration | Guide Documentation | See Also

Last update: 2026-03-19
Started: 2026-03-19

API Reference
Function Overview | Core Functions | put() - Extract Annotations from Files | put_diagram() - Generate Mermaid Diagrams | Auto-Annotation Functions | put_auto() - Auto-detect Workflow from Code | put_generate() - Generate Annotation Comments | put_merge() - Combine Manual and Auto Annotations | Configuration Functions | get_detection_patterns() - View Detection Patterns | list_supported_languages() - List Supported Languages | get_comment_prefix() - Get Comment Prefix for Extension | get_supported_extensions() - List All Supported Extensions | get_diagram_themes() - List Available Themes | put_theme() - Create Custom Theme | set_putior_log_level() - Configure Logging | Utility Functions | is_valid_put_annotation() - Validate Annotation Syntax | split_file_list() - Parse File Lists | run_sandbox() - Launch Interactive Sandbox | Workflow Examples | Basic Workflow | Auto-Detection Pipeline | Interactive Documentation | Debugging | See Also

Last update: 2026-03-19
Started: 2026-02-01

Annotation Guide
Introduction | Annotation Basics | Extracting Annotations | Complete Syntax Reference | Basic Format | Flexible Syntax Options | Multiline Annotations | Multi-Language Support | Block Comments | Core Properties | Standard Node Types | Custom Properties | Advanced Usage | Processing Individual Files | Recursive Directory Scanning | Custom File Patterns | Including Line Numbers | Validation Control | Automatic ID Generation | Automatic Output Defaulting | Tracking Source Relationships | Variable References with .internal Extension | Key Concepts | Correct Usage Pattern | What NOT to Do | Complete Example | Real-World Example | 1. Data Collection (Python) | 2. Data Processing (R) | 3. Analysis and Reporting (R) | 4. Extract the Complete Workflow | Best Practices | 1. Use Descriptive Names | 2. Document Data Dependencies | 3. Use Consistent Node Types | 4. Add Helpful Metadata | 5. Group Related Operations | Troubleshooting | See Also

Last update: 2026-03-19
Started: 2026-02-01

Features Tour
Contents | Feature Overview | Auto-Annotation System | Why Auto-Annotation? | put_auto() - Detect Workflow Automatically | put_generate() - Generate Annotation Comments | put_merge() - Combine Manual + Auto | Auto-Annotation Workflow | Interactive Diagrams | show_source_info - Display File Information | enable_clicks - Clickable Nodes | Detection Patterns | get_detection_patterns() - View Patterns | Supported Languages | Pattern Categories | Interactive Sandbox | Launch the Sandbox | Sandbox Features | Sandbox Use Cases | Debugging with Logging | Enable Logging | Log Levels | Per-Call Override | Debugging Scenarios | Themes and Customization | Available Themes | Standard Themes | Colorblind-Safe Themes (Viridis Family) | Custom Palettes with put_theme() | Theme Examples | Styling Options | Direction Options | Performance | Time Complexity | Memory Usage | Performance Benchmarks | Tips for Large Codebases | When Performance Matters | Putting It All Together | Complete Interactive Documentation Workflow | Quick Visualization of Unknown Code | Try the Examples | See Also

Last update: 2026-03-19
Started: 2026-02-01

Quick Reference
Quickest Start | Annotation Syntax | Comment Prefixes | Core Functions | Key Parameters | Common Patterns | Configuration & Utilities | Themes and Direction | Node Types | See Also

Last update: 2026-03-19
Started: 2026-02-01

Quick Start
Your First Diagram in 2 Minutes | Step 1: Install | Step 2: Add Annotations to Your Code | Step 3: Generate Diagram | Try It Now | Annotation Syntax at a Glance | Multi-Language Support | Common Patterns | Scan a Directory | Include Subdirectories | Auto-Detect Workflow (No Annotations!) | Choose a Theme | Save to File | Interactive Sandbox | Quick Reference | See Also

Last update: 2026-03-19
Started: 2026-02-01

Showcase: Real-World Examples
Small Workflows (3-5 nodes) | Example: Simple ETL Pipeline | Example: Report Generation | Medium Workflows (10-15 nodes) | Example: Machine Learning Pipeline | Example: Multi-Source Data Integration | Large Workflows (20+ nodes) | Example: Complete Analytics Platform | Multi-Language Workflows | Language-Specific Comment Syntax | JavaScript/TypeScript Example | Go Example | MATLAB Example | Example: R + Python + SQL Pipeline | Domain-Specific Examples | Bioinformatics Pipeline | Financial Analysis Pipeline | Web Scraping Pipeline | Multi-Language ML Pipeline | Improving Existing Annotations | Before: A Messy Starting Point | Step-by-Step Improvement | After: Clean Annotations | Key Improvements Made | Workflow for Legacy Code | Tips for Large Workflows | Try It Yourself | See Also

Last update: 2026-03-19
Started: 2026-02-01

Troubleshooting Guide
Contents | Most Common Issues | 1. Annotations Not Detected | 2. Nodes Not Connecting in Diagram | 3. Diagram Not Rendering | 4. Auto-Detection Missing Expected Patterns | 5. Wrong Language Detection | Quick Diagnostics | Annotation Syntax Errors | Missing or Mismatched Quotes | Invalid Node Types | Commas Inside Values | Empty or Missing IDs | Duplicate IDs | Multiline Annotation Issues | File Pattern Matching Issues | Files Not Found | Wrong File Extensions | Case Sensitivity | Diagram Rendering Problems | Mermaid Syntax Errors | Theme Issues | Missing Connections | Artifacts Not Showing | Multi-Language Support Issues | Wrong Comment Prefix Detected | Reference Table | Unsupported Extension | Performance Tips for Large Codebases | Slow Scanning | Memory Issues with Large Workflows | Reducing Annotation Overhead | Debugging with Logging | Enable Detailed Logging | Per-Call Logging | What Each Level Shows | Debugging Example | Logger Not Installed | Frequently Asked Questions | Q: Why are my annotations not found? | Q: How do I connect nodes between files? | Q: What if I don't specify an output? | Q: Can I use putior in CI/CD? | Q: How do I track in-memory variables? | Q: Why does the diagram look different on GitHub vs locally? | Q: Can I use custom properties? | Q: How do I suppress validation warnings? | Getting Help | See Also

Last update: 2026-03-19
Started: 2026-02-01