Magic allows you to wrap your database into HTTP REST endpoints for each CRUD operation towards your tables at the click of a button. It works by extracting meta information from your database, for then to generate a code file for POST, GET, PUT and DELETE, representing the Create, Read, Update and Delete operations. This allows you to create an HTTP REST backend wrapping your database, literally in seconds.

How it works

Magic is built upon a YAML inspired syntax called “Hyperlambda”, that declares the code your endpoint will evaluate when accessed. This makes it fairly easy to have your computer generate code from the metadata extracted from your database. Think about these files as automatically generated XML files, except instead of using XML, it is using Hyperlambda.

Magic is built in .Net Core, and allows you to add C# controllers to it easily. It’s a highly modular architecture, allowing you to intercept its core, using adapters and triggers.

Scheduling code execution

In addition to the above, Magic also features a task scheduler, allowing you to dynamically create tasks, that might repeat according to some sort of pattern, that executes code at some specified point in time.


Although most of Magic’s source code is publicly available, it is not Free Software or Open Source, and I do charge a fee for commercial usage. Read more here.

Getting started with Magic

Build status