🔗Installing Supranim
It's easy to get started with Supranim. You can install it with either of the two package managers for Nim development: Nimble, which ships with Nim, or **Clue**, a DFS package manager alternative made by OpenPeeps. If you don't have Nim installed, you can get it from the official website: https://nim-lang.org/install.html.
Both flows below install the latest version of the Supranim framework and Supra, the CLI app used to create and manage Supranim projects.
🔗Installing with Nimble
nimble install supra supranimNimble places the supra binary in ~/.nimble/bin, so make sure that directory is on your PATH.
🔗Installing with Clue
Clue is an alternative package manager for Nim development with cached version discovery, transitive dependency resolution and per-version toolchains. Install it with Nimble:
nimble install clueClue installs binaries to ~/.clue/bin, so add that directory to your PATH once. Then install the Supranim library and the Supra CLI:
clue install supranim
clue install supra --buildNote the --build flag on the second command: unlike Nimble, Clue never compiles a package's binaries implicitly, so --build is what produces the supra executable in ~/.clue/bin.
🔗Dependencies
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: template engine.
- boogie: WAL-based KV and RDBMS stores used by the Cache service.
- Other utilities:
flysystem(filesystem),twofa(QR/2FA),openparser(JSON/YAML/regex),threading,flatty,jsony,mimedb,checksums,semver.
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