GitHunt
SE

sermoz/dyrel.py

Dynamic relational engine embedded in Python

What is DyRel?

DyRel is a live environment for relational programming in Python. Its key features are:

  • Liveness

    The program you're working on is always up and running, it is live and
    talking to you at any time. You have instant feedback on your actions.
    This allows for much better programming experience and more productive
    development.

  • Incrementality

    The effects on the system add up incrementally, just like they do in the
    real world. No need to necessarily restart, recompile, reassemble from
    the ground up when you make a slight change. Everything is made with
    changeability and incrementality in mind.

  • Reactivity

    Some things are defined in terms of the others. When these other things
    change, the first ones automatically change accordingly.

  • Relational model

    All your program state is specified with relational model instead of the
    more usual object graphs. This allows for much more uniform handling of program
    logic.

  • Derivation

    You specify basic facts and rules that describe how to deduce more knowledge
    about your domain. The system maintains derived information in an
    incremental and reactive way.

Languages

Python100.0%

Contributors

MIT License
Created May 17, 2025
Updated September 6, 2025