Skip to content
This repository has been archived by the owner on Nov 14, 2019. It is now read-only.
/ awesome-nim Public archive

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


Notifications You must be signed in to change notification settings


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation

DEPRECATED - Use Curated Packages instead.

Awesome Nim Awesome

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


Table of contents

Async processing

Build Systems/Package Management

  • 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]

Byte Size

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


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


Date Time

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

Deep Learning

  • 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]


  • 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]


  • 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.

Game Development

  • 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]


  • 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]



  • 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]


  • 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]

Package Repositories

  • 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".


  • INim - Interactive Nim Shell. [MIT]


  • Nimcr - Running Nim code with Shebangs.


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

Text Processing

  • 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]


  • nim-tinyslation - Text string translation from free online crowdsourced API. [LGPL]

Template Engines

  • smalte - Is a dead simple and lightweight template engine. Specially designed for configure application before start in Docker. [MIT]


Web Frameworks

  • 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.

Parsing HTML

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

Generating HTML

Development Tools

Binding Generators

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

Command-Line Interface Automation

  • 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]



  • 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.




  • 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).


Contributions are very welcome!

Please have a look at CONTRIBUTING for guidelines.


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








No releases published


No packages published