A functional reactive engine
Project description
hgraph
A functional reactive programming engine with a Python front-end.
This provides a DSL and runtime to support the computation of results over time, featuring a graph based directed acyclic dependency graph and the concept of time-series properties. The language is function based, and promotes composition to extend behaviour.
Here is a simple example:
from hgraph import graph, run_graph
from hgraph.nodes import const, debug_print
@graph
def main():
a = const(1)
c = a + 2
debug_print("a + 2", c)
run_graph(main)
Results in:
[1970-01-01 00:00:00.000385][1970-01-01 00:00:00.000001] a + 2: 3
See this for more information.
Development
The project is currently configured to make use of Hatchling for dependency management. Take a look at the website to see how best to install the tool. Once you have checked out the project, you can install the project for development using the following command:
hatch env create all.py3.11
Then you can find the location of the installation using:
hatch env find all.py3.11
For users of CLion / PyCharm, you can then add the environment by selecting an existing virtual environment using the location above.
Run MyPy Type Checking
hatch run types:check
Run Tests
# No Coverage
hatch run test
# Generate Coverage Report
hatch run cov
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.