Skip to content
A node-based data analysis program.
C++ QML JavaScript Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.gitignore
CMakeLists.txt
GPL
README.md
laph.png

README.md

Intro

Laph is a program designed for use in physics labs/experiments, born out of the authors abhorrence of Excel. Instead of tables and cells, Laph uses nodes to build a DAG (Directed Acyclic Graph) of computations.

Laph includes an embedded Julia runtime, which is used to compute the graph. Each node (except for input nodes) is backed by a Julia file containing functions that map to each output socket; and this provides an enormous amount of flexibility when it comes to processing the data.

Laph

Requirements

  • A C++14 compliant compiler
  • Qt 5.11 or higher
  • Julia 1.0 or higher
  • CMake 3.8.0 or higher

Roadmap

  • Create a draggable canvas and nodes/sockets/wires
  • Embed Julia
  • Initial version of a lazily-evaluated graph engine
  • Undo/redo [in progress]
  • Unit tests
  • Support for saving the node graphs (including node settings and vector data)
  • Plotting support (most likely using QCustomPlot)
  • Optimize the graph engine

Quickstart

Assuming we are in the cloned repo directory:

mkdir build && cd build
cmake ..
make

Note that the path to the Julia libraries/headers are expected to be in JULIA_LIB_PATH and JULIA_INCLUDE_PATH, respectively.

You can’t perform that action at this time.