{"id":13858033,"url":"https://github.com/retowyss/appifyr","last_synced_at":"2025-07-13T23:31:05.374Z","repository":{"id":50256417,"uuid":"107858414","full_name":"retowyss/appifyr","owner":"retowyss","description":"Write R Get Apps!","archived":false,"fork":false,"pushed_at":"2025-05-04T16:30:50.000Z","size":3267,"stargazers_count":11,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-04T16:32:34.738Z","etag":null,"topics":["knitr","opencpu","r","rmarkdown"],"latest_commit_sha":null,"homepage":"https://retowyss.github.io/appifyr","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/retowyss.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2017-10-22T11:04:43.000Z","updated_at":"2025-05-04T16:28:27.000Z","dependencies_parsed_at":"2024-02-09T01:59:15.666Z","dependency_job_id":"ed644834-f156-4b72-9087-39d2f428c9d3","html_url":"https://github.com/retowyss/appifyr","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/retowyss/appifyr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/retowyss%2Fappifyr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/retowyss%2Fappifyr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/retowyss%2Fappifyr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/retowyss%2Fappifyr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/retowyss","download_url":"https://codeload.github.com/retowyss/appifyr/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/retowyss%2Fappifyr/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265220233,"owners_count":23729780,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["knitr","opencpu","r","rmarkdown"],"created_at":"2024-08-05T03:01:54.480Z","updated_at":"2025-07-13T23:31:05.361Z","avatar_url":"https://github.com/retowyss.png","language":"R","readme":"# appifyr\n\n[![R-CMD-check](https://github.com/retowyss/appifyr/workflows/R-CMD-check/badge.svg)](https://github.com/retowyss/appifyr/actions?query=workflow%3AR-CMD-check)\n[![pkgdown](https://github.com/retowyss/appifyr/workflows/pkgdown/badge.svg)](https://github.com/retowyss/appifyr/actions?query=workflow%3Apkgdown)\n[![test-coverage](https://github.com/retowyss/appifyr/workflows/test-coverage/badge.svg)](https://github.com/retowyss/appifyr/actions?query=workflow%3Atest-coverage)\n\n## Create Web Applications from R Functions (Updated May 4, 2025)\n\n**Turn your R functions into interactive web applications with minimal code!**\n\nappifyr bridges the gap between R's analytical capabilities and web interfaces by:\n\n1. Taking regular R functions\n2. Automatically generating HTML forms for function parameters\n3. Connecting these inputs to OpenCPU API calls\n4. Displaying the function outputs (currently plots)\n\n## Quick Start\n\n```r\n# Install the package\ninstall.packages(\"remotes\")\nremotes::install_github(\"retowyss/appifyr\")\n\n# Create a simple function\nhistogram_app \u003c- function(n, bins) {\n  hist(rnorm(n), breaks = bins, main = \"Random Normal Distribution\")\n}\n\n# Create a web interface for your function\nlibrary(appifyr)\napp \u003c- appify(\n  f = \"histogram_app\", \n  inps = list(\n    n = inp_number(from = 10, to = 1000, label = \"Sample Size\"),\n    bins = inp_number(from = 5, to = 30, label = \"Number of Bins\")\n  )\n)\n\n# To run the app, you'll need OpenCPU\n# install.packages(\"opencpu\")\n# opencpu::ocpu_start_app(\"YourPackageName\")\n```\n\n## How It Works\n\nappifyr uses OpenCPU as a backend to create web interfaces for R functions. Unlike Shiny, which requires learning Shiny-specific syntax, appifyr works with regular R functions and requires minimal JavaScript/HTML knowledge.\n\n### Differences from Shiny\n\n* **Shiny**: You start with the goal of creating a specific app and write R code to achieve that goal.\n* **appifyr**: You start with existing R code and create an app to visualize your function.\n\n## Documentation and Examples\n\n* [Appifyr Documentation](https://retowyss.github.io/appifyr/)\n* [Demo App - Sepals and Petals](http://retowyss.ocpu.io/sepals-and-petals/www/)\n\n## Running Apps\n\nTo run apps created with appifyr, you need OpenCPU:\n\n```r\n# Install OpenCPU\ninstall.packages(\"opencpu\")\n\n# Clone the demo application\n# git clone https://github.com/retowyss/sepals-and-petals.git\n\n# Build and start the app\nappifyr::build_app()\nopencpu::ocpu_start_app(\"SepalsAndPetals\")\n```\n\n## Key Features\n\n* Simple API: The main function `appify()` takes an R function and specifications for inputs\n* Intuitive Input Creation: Helper functions like `inp_text()`, `inp_number()`, and `inp_dropdown()`\n* Built-in Web Components: Generates Bootstrap-styled form elements and layout\n* Integration with OpenCPU: Uses the OpenCPU JavaScript library to handle API calls\n\n## Requirements\n\n* R ≥ 4.1.0\n* OpenCPU for running the apps\n","funding_links":[],"categories":["R"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fretowyss%2Fappifyr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fretowyss%2Fappifyr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fretowyss%2Fappifyr/lists"}