Magic and Hyperlambda docs
This is the reference documentation for Magic. If you just started out with Magic and Hyperlambda, you would probably benefit from startout out with the tutorials section, and refer to these parts afterwards.
Reference documentation core projects
This is the documentation for the core projects in Magic. This is what wires up your application, takes care of routing, loads Hyperlambda files, executes HTTP endpoints, etc - In addition to projects helping you deploy Magic into production, or clone it to work locally with it.
- middleware - Explains the middleware in Magic
- magic.node - Explains nodes, Hyperlambda and Expressions
- magic.signals - Magic’s Super Signals implementation
- magic.endpoint - Endpoint resolving in Magic
- magic.data.common - Commonalities for data adapters in Magic
- magic.data.cql - CQL IO and logging support for Magic and Hyperlambda
- magic.library - A single NuGet package helper wrapping everything together
- magic.deploy - How to deploy Magic to your VPS using Docker.
- magic.clone - How to clone Magic and its entire codebase.
Reference documentation plugins
These are the plugins for Magic, typically implementing one or more slots each, whom in its combined results becomes the programming language called Hyperlambda. These are the parts that allows you to interact with your database, apply authentication and authorization requirements for your endpoints, etc.
- magic.lambda - Explains Hyperlambda as a DSL, and its keywords
- magic.lambda.math - Math operations from Hyperlambda
- magic.lambda.http - Invoking HTTP REST endpoints from Hyperlambda
- magic.lambda.csv - Manipulating CSV from Hyperlambda
- magic.lambda.json - Manipulating JSON from Hyperlambda
- magic.lambda.html - Manipulating HTML from Hyperlambda
- magic.lambda.mail - Sending and retrieving emails from Hyperlambda
- magic.lambda.mime - Parsing email messages in Hyperlambda
- magic.lambda.auth - Authentication and authorisation from Hyperlambda
- magic.lambda.ad-auth - Authentication through Active Directory or Windows Authentication
- magic.lambda.dates - Allows you to manipulate DateTime objects from Hyperlambda
- magic.lambda.slots - Dynamically create your own slots/functions
- magic.lambda.mysql - Accessing your MySQL server from Hyperlambda
- magic.lambda.pgsql - Accessing your PostgreSQL server from Hyperlambda
- magic.lambda.mssql - Accessing your MS SQL Server from Hyperlambda
- magic.lambda.sqlite - Accessing your SQLite database from Hyperlambda
- magic.lambda.odbc - Accessing an ODBC connection from Hyperlambda
- magic.lambda.image - Image library, allowing you to generate QR code
- magic.lambda.crypto - Cryptography helpers for Hyperlambda
- magic.lambda.guid - Creating a guid from Hyperlambda
- magic.lambda.config - Accessing configuration values from Hyperlambda
- magic.lambda.logging - Logging from Hyperlambda
- magic.lambda.caching - Caching from Hyperlambda
- magic.lambda.strings - Manipulate strings in Hyperlambda
- magic.lambda.scheduler - Create scheduled tasks and workflows from Hyperlambda
- magic.lambda.validators - Validate input in Hyperlambda
- magic.lambda.hyperlambda - Parse Hyperlambda from text, and vice versa
- magic.lambda.sockets - Web socket support for Magic using SignalR
- magic.lambda.threading - Thread support for Magic and Hyperlambda
- magic.lambda.cql - CQL or NoSQL support for Magic and Hyperlambda
- magic.lambda.system - System support for Magic to spawn of terminals etc.
In the following playlist we walk you through most parts of the system.
If you have a support request of private nature, you can send us an email at firstname.lastname@example.org. If you want to submit a feature request or a bug report, you can do this through the project’s GitHub Issues.
Below you can find the build status of all satellite projects in their respective master branches, and the links to the GitHub project pages. The build status is only relevant if you want to clone Magic Cloud, and all of its satellite projects, using for instance magic.clone. The build status is not relevant if you just want to download the latest code version, and/or use the Docker images, since we quality assure all projects by making sure all unit tests, builds, and quality gates succeeds before we create new releases of Magic.
If you want to dive into the QA details of each project, you can find Magic’s SonarCloud project site here.
Magic is 100% Open Source and free of charge to use. The main backend is licensed as MIT, the dashboard is GPL, and the plugins are LGPL. This allows you to use Magic to create closed source applications, while also ensuring improvements to the project itself stays Open Source.