A tiny lua framework.
Pesto can be used to create any type of program with ease, thanks to its simple Lua interface. Programs written in it are lightweight, fast, and cross-platform. Pesto's main dependency is the amazing Raylib, and is heavily influenced by the Love2D framework.
The primary motivation behind Pesto's creation was a desire for a lightweight project that emphasized readability, simplicity, and educational value. It aims to be self-contained, minimizing external dependencies and providing a more comprehensive feature set compared to the basic functionality of Love2D.
The word "Pesto" originates from my favorite Italian sauce, the country i'm from 😋.
- Simplicity: Pesto offers a straightforward API for easy development.
- Lightweight and Fast: It's a speedy, single executable framework powered by LuaJIT.
- Cross-Platform: Supports various platforms, reducing compatibility issues.
- Lua Scripting: Utilizes Lua scripting for flexible development.
- Versatility: Beyond games, it's suitable for various applications and tools.
- Self-Contained: Includes essential modules, reducing reliance on external libraries.
- Educational: Designed to aid learning and experimentation due to its understandable codebase.
- Community-Driven: Encourages contributions with clear guidelines and support.
- Comprehensive Documentation: Provides detailed, user-friendly documentation with many examples for beginners.
To get started using Pesto follow the instructions on the docs.
Here is the simplest possible program:
function pesto.draw()
pesto.graphics.text("Hello, World!", 0, 0)
end
You can build Pesto from source using CMake. Make sure to clone the project and its submodules, and then follow these steps:
mkdir build
cd build
cmake ..
cmake --build . --config Release
More details can be found in the docs.
Thanks to all these amazing people:
Pesto is licensed under the MIT License. See the LICENSE file for details.