🔗Nim packages and libraries
Supranim relies on several Nim packages to provide its features. Most of them are maintained @supranim and @openpeeps organizations and are Nim-only:
- kapsis: CLI command parsing used by
App.cli - powpow: HTTP/1.1 and WebSocket server (the Supranim backend)
- ozark: macro-based ORM with a type-safe query builder (PostgreSQL)
- emitter: event emitter powering the events service.
- nimcypher: cryptography for
supranim/support/auth: a pure-Nim port of Monocypher (X25519, Ed25519, XChaCha20-Poly1305, Argon2id) - tim: front-end engine with built-in DSL
For the complete list, see the Nimble file in the Supranim repository. Depending on the project type you choose when creating a new project, some additional dependencies may be required. 🔥 Check the Starter Kits documentation for more details on the specific dependencies for each project type.
🔗No C build dependencies
The HTTP server (powpow) and the cryptography layer (nimcypher) are implemented entirely in Nim, so Supranim itself has no C library build dependencies. No additional C toolchain or libraries are required to compile a Supranim application.
The only exception is the database layer: the PostgreSQL/SQLite drivers