Skip to content

cynkra/blockr.core

Repository files navigation

blockr.core

lifecycle status coverage

Overview

blockr is a framework for data analysis, using a web-based point and click user interface. Use blockr to create web apps that perform visual programming, leveraging the power of R.

Installation

You can install the development version of blockr.core from GitHub with:

pak::pak("cynkra/blockr.core")

What is blockr.core

blockr.core is the entry point to blockr, providing the core functionality needed to get started. It can be run as a stand-alone app, but is designed with extensibility in mind. A rich API is provided to connect your own blocks and override the default behaviours (e.g., you can add your own GUI layer or serialisation).

What is a block?

A block is a fundamental unit of a data analysis workflow. A single block performs a single task, such as loading or filtering or visualisation. Blocks can be joined together using a DAG (direct acyclic graph) to create powerful data workflows.

Who is it for?

blockr targets two main user groups:

  • non technical users are empowered to create insightful data workflows using pre-built blocks that can be easily connected, all without writing a single line of code.
  • developers are provided with a set of tools to seamlessly create new blocks, thereby enhancing the entire framework and fostering collaboration within organizations teams.

What are the key features

  1. User-Friendly Interface: Build data pipelines with intuitive interface, like with blockr.ui.
  2. Flexibility: Easily add, remove, or rearrange blocks in your pipeline.
  3. Extensibility: Developers can create custom blocks to extend functionality (blockr.dplyr, blockr.ai, blockr.io, blockr.sdtm, …)
  4. Reproducibility: Pipelines created with blockr.core are easily shareable and reproducible, with exportable code.
  5. Interactivity: Real-time feedback as you build and modify your pipeline.
blockr.ui example

blockr.ui example

How to get started?

To get started, we invite you to read this vignette.

How can I develop my own blocks?

We started to build blockr extensions to enrich blockr.core’s capabilities:

  • blockr.dplyr: an entry point to the dplyr ecosystem.
  • blockr.ai: LLM-powered blocks.
  • blockr.io: handle different data input format (xpt, csv, …) and output for export.
  • blockr.sdtm: pharmaverse datasets blocks.

If you wish to learn to develop your own blocks, have a look at this vignette.