Skip to content
Oeiuwq Faith Blog OpenSource Porfolio

vpashkov/awesome-nim

A curated list of awesome Nim frameworks, libraries and software. Inspired by other awesome lists.

vpashkov/awesome-nim.json
{
"createdAt": "2015-08-04T16:02:35Z",
"defaultBranch": "master",
"description": "A curated list of awesome Nim frameworks, libraries and software. Inspired by other awesome lists.",
"fullName": "vpashkov/awesome-nim",
"homepage": "",
"language": null,
"name": "awesome-nim",
"pushedAt": "2019-11-14T12:10:15Z",
"stargazersCount": 649,
"topics": [
"awesome",
"awesome-list",
"nim"
],
"updatedAt": "2025-11-24T08:15:16Z",
"url": "https://github.com/vpashkov/awesome-nim"
}

A curated list of awesome Nim frameworks, libraries and software. Inspired by other awesome lists.

Table of contents
  • [Async Processing]!(#async-processing)
  • [Build Systems/Package Management]!(#build-systemspackage-management)
  • [Byte Size]!(#byte-size)
  • [CheckSums]!(#checksums)
  • [Database]!(#database)
  • [Date Time]!(#date-time)
  • [Deep Learning]!(#deep-learning)
  • [Design]!(#design)
  • [Embedded]!(#embedded)
  • [Game Development]!(#game-development)
  • [GUI]!(#gui)
  • [IDE]!(#ide)
  • [Implementations]!(#implementations)
  • [Macros]!(#macros)
  • [Package Repositories]!(#package-repositories)
  • [REPL]!(#repl)
  • [Scripting]!(#scripting)
  • [Services]!(#services)
  • [Text Processing]!(#text-processing)
    • [Translation]!(#translation)
    • [Template Engines]!(#template-engines)
  • [Web]!(#web)
    • [Web Frameworks]!(#web-frameworks)
    • [Parsing HTML]!(#parsing-html)
    • [Generating HTML]!(#generating-html)
  • [Development Tools]!(#development-tools)
    • [Binding Generators]!(#binding-generators)
    • [Command-Line Interface Automation]!(#command-line-interface-automation)
  • [Resources]!(#resources)
    • [Books]!(#books)
    • [Blogs]!(#blogs)
    • [Community]!(#community)
    • [Websites]!(#websites)
  • [Contributing]!(#contributing)

[]!(#contents “Go to the top”)

  • ChooseNim - Installing and switching between Nim versions (à la rustup, pyenv). [MIT]
  • Nake - Describe your Nim builds as tasks. [MIT]
  • Nawabs - A build system that throws away version numbering in favor of git hashes. [MIT]
  • Nimble - Nimble can be used as a build system. [BSD]

[]!(#contents “Go to the top”)

  • nim-bytes2human - Calculate all Byte units from an integer, with precision from Bytes to Yottabytes, and return a human friendly string representation. [LGPL]

[]!(#contents “Go to the top”)

  • nim-crc32 - CRC32 for Nim, 2 proc, just pass the thing you want to do CRC. [MIT]

[]!(#contents “Go to the top”)

[]!(#contents “Go to the top”)

  • nim-datetime2human - Calculate date & time with precision from seconds to millenniums. Human friendly date time as string. ISO-8601. [LGPL]

[]!(#contents “Go to the top”)

  • Arraymancer - A fast, ergonomic and portable tensor library in Nim with a deep learning focus for CPU, GPU, OpenCL and embedded devices. [Apache-2.0]
  • NimTorch - PyTorch - Python + Nim. A Nim front-end to PyTorch’s native backend, combining Nim’s speed, productivity and portability with PyTorch’s latest implementations. [MIT]

[]!(#contents “Go to the top”)

  • nim-random-font-color - Random curated Fonts, pastel Colors and Seamless CSS3 Patterns for your UI/UX design, design for non-designers, poors man design. [LGPL]

[]!(#contents “Go to the top”)

  • msp430f5510 - Run Nim on MSP430f5510 micro-controller (6KB of RAM).
  • stm32f3 - Run Nim on STM32F3 micro-controller (16KB of RAM).
  • ardunimo - Nim wrapper for Arduino + LinkIt ONE SDK by Mediatek.
  • ardunimesp - Nim wrapper for Arduino ESP8266 framework + A tool for flash, compile and make the nim project into an Arduino project.

[]!(#contents “Go to the top”)

  • frag - Cross-platform 2D|3D game framework for the Nim programming language. [MIT]
  • zengine - 2D | 3D Game development library.
  • SDL2 - Wrapper for SDL 2. [MIT]
  • GLAD - Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs. [MIT]
  • nim-glm - Port of the popular glm C++ library to Nim. [MIT]

[]!(#contents “Go to the top”)

  • ui - Wrapper for IUP - Beginnings of what might become Nim’s official UI library.
  • nim-kdialog - Nim Kdialog Qt5 Wrapper for Desktop. [LGPL]
  • nimAntTweakBar - Wrapper for AntTweakBar.
  • nimx - Desktop, Mobile & Web GUI framework in Nim.
  • NiGui - cross-platform, desktop GUI toolkit [MIT]

[]!(#contents “Go to the top”)

[]!(#contents “Go to the top”)

  • Nim - Nim (formerly known as “Nimrod”) is a compiled, garbage-collected systems programming language which has an excellent productivity/performance ratio. Nim’s design focuses on efficiency, expressiveness, elegance (in the order of priority). [MIT] website
  • Nlvm - LLVM backend for Nim. [MIT]

[]!(#contents “Go to the top”)

  • cascade - Method & assignment cascades for Nim, inspired by Smalltalk & Dart. [MIT]
  • gara - Macro-based pattern matching library. [MIT]
  • pipe - Pipe operator for Nim, as seen in functional languages. [MIT]
  • unpack - Sequence/object unpacking/destructuring. [MIT]

[]!(#contents “Go to the top”)

  • Nim packages - List of packages for Nimble.
  • Nim package directory - This service allows you to explore Nim packages known to Nimble. It tests package installation and generates documentation using “nim doc”.

[]!(#contents “Go to the top”)

  • INim - Interactive Nim Shell. [MIT]
  • Nimcr - Running Nim code with Shebangs.

[]!(#contents “Go to the top”)

  • Luntic - Lightweight REST in-memory discovery service. [Apache-2.0]

[]!(#contents “Go to the top”)

  • regex - Pure Nim regex engine with linear time match. [MIT]
  • glob - Pure library for matching file paths against Unix style glob patterns. [MIT]
  • nim-datauri - Data URI Base64 UTF-8. [LGPL]

[]!(#contents “Go to the top”)

  • nim-tinyslation - Text string translation from free online crowdsourced API. [LGPL]
  • smalte - Is a dead simple and lightweight template engine. Specially designed for configure application before start in Docker. [MIT]

[]!(#contents “Go to the top”)

  • Jester - The sinatra-like web framework for Nim. Jester provides a DSL for quickly creating web applications in Nim. [MIT]
  • Karax - Framework for developing single page applications in Nim.
  • nawak - Web micro-framework in Nimrod, heavily inspired by jester, flask and the like. [MIT]
  • oauth - OAuth library for Nim. [Apache-2.0]
  • rosencrantz - DSL to write web servers, inspired by Spray and its successor Akka HTTP.

[]!(#contents “Go to the top”)

  • Nimquery - Library for querying HTML using CSS selectors, like Javascript’s document.querySelector. [MIT]

[]!(#contents “Go to the top”)

[]!(#contents “Go to the top”)

  • Nimpy - Gen Python wrappers, call python from nim. [MIT]
  • Pymod - Gen Python C-API wrappers. [MIT]

[]!(#contents “Go to the top”)

  • cligen - Infer & generate command-line interace/option/argument parsers [MIT]
  • docopt.nim - Command-line args parser [MIT]
  • commandeer - Provides a small command line parsing DSL (domain specific language) [MIT]

[]!(#contents “Go to the top”)

  • Nim in Action - Nim’s first book
  • Nim Days - A project to document my journey with nim with mini applications, libraries documented from A to Z and also to provide new Nim users with some extra in depth information.

[]!(#contents “Go to the top”)

[]!(#contents “Go to the top”)

[]!(#contents “Go to the top”)

  • Nim Basics - Tutorial for beginners and people just starting with Nim.
  • How I start - Great guide going from 0 to a bf interpreter and then a bf to Nim compiler.
  • Learn Nim in Y minutes - Whirlwind tour.
  • Nim by Example - Series of pages and examples for learning the Nim programming language.
  • Nim for Python programmers - Guide to Nim for people with experience in Python.
  • Rosettacode:Nim - 100s of solutions for various tasks using Nim (Implementations available in other languages as well).

[]!(#contents “Go to the top”)

Contributions are very welcome!

Please have a look at CONTRIBUTING for guidelines.

[]!(#contents “Go to the top”)