Skip to content
On this page

Nim libraries

This is a nice Nim template.

Web

  • Mummy - Multi-threaded HTTP 1.1 and WebSocket server written entirely in Nim. (HN)
  • httpbeast - Highly performant, multi-threaded HTTP 1.1 server written in Nim.
  • Prologue - Full-Stack Web Framework which is ideal for building elegant and high performance web services. (HN)
  • Rosencrantz - DSL to write web servers.
  • nim-libp2p - libp2p implementation in Nim.
  • Basolato - Asynchronous full stack web framework for Nim.
  • Karax - Single page applications for Nim.
  • mike - Improved mikero web framework.
  • Waterpark - Thread-safe pools. Great for database connections in a multithreaded HTTP server.
  • Curly - Makes using libcurl efficiently easy.

Math

  • Neo - Provides basic linear algebra operations for Nim applications.

Graphics

  • Nodesnim - Nim GUI/2D framework, based on OpenGL and SDL2.
  • Pixie - Full-featured 2D graphics library for Nim. (HN)
  • Drawim - Simple drawing library in Nim, inspired by p5js. Builds to native, using OpenGL, and to JavaScript, using HTML5 Canvas.

Crypto

  • Constantine - Fast, compact, hardened Pairing-Based Cryptography.

CLI

  • CLIche - AutoMagic CLI argument parsing is cliche.
  • Bossy - Simpler way to work with command line arguments.
  • cligen - Nim library to infer/generate command-line-interfaces / option / argument parsing.

DB

  • nimdbx - Extremely fast persistent key-value store for the Nim language, based on the amazing MDBX library.
  • ndb/sqlite - Of db_sqlite, Nim's standard library higher level SQLite database wrapper.
  • Nim SQLite3 wrapper
  • allographer - Asynchronous query builder library inspired by Laravel/PHP and Orator/Python for Nim.

Other

  • Arraymancer - N-dimensional tensor (ndarray) library.
  • paranim - Nim game library.
  • Synthesis - Exports a set of macros to synthesize static procedure-based automata from a declarative description of states, triggers and transitions with all states, triggers and transitions known at compile-time.
  • iface - Dynamic dispatch on steroids.
  • nimx - Cross-platform GUI framework in Nim.
  • Itertools - Nim rewrite of a very popular Python module of the same name.
  • Patty - Pattern matching library for Nim.
  • NimData - DataFrame API written in Nim, enabling fast out-of-core data processing.
  • Questionable - Elegant optional types for Nim.
  • cinterop - C/C++ interop library for Nim.
  • nimly - Lexer Generator and Parser Generator as a Library in Nim.
  • Nimscripter - Quick and easy Nim <-> Nimscript interop.
  • nimpy - Native language integration with Python.
  • Regex - Pure Nim regex engine. Guarantees linear time matching.
  • nim-plotly - Plotly wrapper for Nim.
  • nim-result - Result type that can hold either a value or an error, but not both.
  • JSONy - Loose, direct to object json parser and serializer with hooks.
  • Taskpools - Lightweight, energy-efficient, easily auditable threadpool.
  • Weave - State-of-the-art multithreading runtime: message-passing based, fast, scalable, ultra-low overhead.
  • iterrr - Functional-style, lazy-like, extensible iterator library.
  • NICO - Game Framework in Nim inspired by Pico-8.
  • threading - New atomics, thread primitives, channels and atomic refcounting.
  • Microparsec - Fast parser combinator library with excellent error messages.
  • ws - Simple WebSocket library for nim.
  • stew - Collection of utilities, std library extensions and budding libraries that are frequently used at Status.
  • QRgen - QR code generation library.
  • strunicode - Swift-like unicode string handling.
  • Taskman - Simple and lightweight async/sync scheduling library for running tasks at certain times.
  • msgpack4nim - MessagePack serializer/deserializer.