Last updated

🔗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