Welcome to DagSim’s documentation!

DagSim is a Python-based framework and specification language for simulating data based on a Directed Acyclic Graph (DAG) structure, without any constraints on variable types or functional relations. A succinct YAML format for defining the structure of the simulation model promotes transparency, while separate user-provided functions for generating each variable based on its parents ensure the modularization of the simulation code.

To get started with DagSim check out this tutorial.

Typically, simulating data using DagSim would follow this workflow:

  • Define the functions that will be used for the simulation. This can be any Python functions, whether they are user-defined or provided by another Python library.

  • Define the graph that you want to simulate data from. This entails defining the different nodes in the graph, by giving each node a name, the function to evaluate, and the arguments of that function. These arguments could be other nodes in the graph or any other Python objects.

  • Simulate data from the defined graph.

For more details on this workflow, check this extended tutorial.

To install DagSim, see Installing DagSim.

Indices and tables