awesome-nim
Nim framework directory
A curated collection of notable Nim language frameworks, libraries, and resources.
A curated list of awesome Nim frameworks, libraries, software and resources.
1k stars
33 watching
71 forks
Language: Nim
last commit: 12 months ago
Linked from 1 awesome list
awesomeawesome-listnimnim-language
Language Features / Implementations | |||
| Nim | 16,662 | 12 months ago | 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) |
| nlvm | 711 | 12 months ago | LLVM backend for Nim |
Language Features / Standard Libraries | |||
| cpython | 144 | 12 months ago | Python standard library for Nim |
| Node.js | 209 | 12 months ago | Node.js standard library for Nim |
Language Features / Package Repositories | |||
| Nim packages | 455 | 12 months ago | List of packages for Nimble |
| Nim package directory | Explore Nim packages known to Nimble | ||
Language Features / Editors | |||
| moe | 663 | 12 months ago | A vim-like editor made with Nim, also supports C, Rust, Javascript, etc |
| Nev | 88 | 12 months ago | A keyboard focused GUI and terminal text editor |
| Nim Playground | Code and run Nim online | ||
| DoongJohn's Nim playground | An alternative implementation of the Nim playground | ||
Language Features / Async IO | |||
| std/async | Async/await implementation in Nim's stdlib (aka asyncdispatch) | ||
| chronos | 364 | about 1 year ago | An efficient library for asynchronous programming |
| cps | 9 | over 3 years ago | Continuation-Passing Style for Nim |
Language Features / Threading | |||
| malebolgia | 109 | over 1 year ago | A powerful library in Nim that simplifies the implementation of concurrent and parallel programming |
| weave | 540 | over 1 year ago | A state-of-the-art multithreading runtime: message-passing based, fast, scalable, ultra-low overhead |
| timerpool | 8 | over 5 years ago | Threadsafe timerpool implementation for event purposes |
| taskpools | 101 | 12 months ago | Lightweight, energy-efficient, easily auditable threadpools |
| shared | 11 | over 6 years ago | A Nim library for shared types |
| synthesis | 91 | over 5 years ago | A compiletime, procedure-based, low-overhead, no-allocation, state-machine generator optimized for communicating processes and threads |
| sync | 19 | over 1 year ago | Useful synchronization primitives |
| threadlogging | A thread safe logging library using Nim's own logging module | ||
Language Features / Error Handling | |||
| result | 151 | 12 months ago | Friendly, exception-free value-or-error returns, similar to Option[T] |
| questionable | 114 | 12 months ago | Elegant optional types for Nim |
| optionsutils | 35 | over 4 years ago | Utility macros for easier handling of options in Nim |
Language Features / Contracts | |||
| contracts | 71 | over 1 year ago | Used to make contracts - elegant promises that pieces of code will fulfill certain conditions |
| contra | 53 | almost 4 years ago | Lightweight and fast self-documenting design by contract programming |
Language Features / Object-Oriented Programming | |||
| oop_utils | 35 | over 4 years ago | Nim macros for building OOP class hierarchies |
| interfaced | 31 | about 8 years ago | Interfaces for Nim |
| traitor | 28 | over 1 year ago | A macro heavy trait library made from boredom |
| classes | 90 | over 2 years ago | Python-style class system for Nim |
| classy | 28 | over 1 year ago | Haskell-style typeclasses for Nim |
Language Features / Functional Programming | |||
| cascade | 100 | over 1 year ago | Method & assignment cascades for Nim, inspired by Smalltalk & Dart |
| nimfp | 135 | over 1 year ago | Nim functional programming library |
| nim-pipexp | 6 | almost 3 years ago | Expression-based pipe operators with placeholder argument for Nim |
| pipe | 60 | over 4 years ago | Pipe operator for Nim, as seen in functional languages |
| zero-functional | 322 | about 3 years ago | A library providing (almost) zero-cost chaining for functional abstractions in Nim |
Language Features / Pattern Matching | |||
| regex | 228 | 12 months ago | Pure Nim regex engine with linear time match |
| npeg | 332 | over 1 year ago | PEGs for Nim, another take |
| patty | 277 | over 2 years ago | A pattern matching library for Nim |
| gara | 103 | over 5 years ago | Macro-based pattern matching library |
| glob | 61 | almost 2 years ago | Pure library for matching file paths against Unix style glob patterns |
| ast_pattern_match | 100 | about 2 years ago | A library to do pattern matching on the AST |
| awk | 27 | 12 months ago | A library of awk functions in Nim |
| tinyre | 38 | over 1 year ago | A tiny regex engine based on Rob Pike's VM implementation |
Language Features / Iteration | |||
| iterrr | 72 | almost 2 years ago | Macros-based functional-style, lazy-like, extensible iterator library |
| itertools | 134 | almost 3 years ago | Nim rewrite of a very popular Python module of the same name |
| loopfusion | 40 | over 2 years ago | Iterate efficiently over a variadic number of containers |
| looper | 8 | about 5 years ago | For loop macros for Nim |
| mangle | Attempt at a streaming library | ||
Language Features / Macros | |||
| macroutils | 60 | almost 4 years ago | A package that makes creating macros easier |
| nimacros | 42 | over 3 years ago | Documentation for Nim macros |
| unpack | 55 | over 6 years ago | Sequence/object unpacking/destructuring |
| with | 87 | almost 3 years ago | The macro for Nim |
| memo | 78 | almost 4 years ago | Memoization for Nim |
Operating System / System API | |||
| winim | 467 | over 1 year ago | Nim's Windows API and COM Library |
| serial | 74 | almost 2 years ago | A Nim library for accessing serial ports |
| tempdir | 6 | over 4 years ago | A Nim library to create and manage temporary directories |
| nimbluez | 24 | over 2 years ago | Nim modules for access to system Bluetooth resources |
Operating System / IO | |||
| std/selectors | Epoll/Kqueue/Select implementation in Nim's stdlib | ||
| ioselectors | 24 | about 1 year ago | The ioselectors plus for Nim |
| wepoll | 22 | about 1 year ago | Windows epoll wrapper for Nim |
| faststreams | 125 | 12 months ago | Nearly zero-overhead input/output streams for Nim |
| lockfreequeues | 44 | about 1 year ago | Lock-free queue implementations for Nim |
Operating System / Processes | |||
| psutil | 62 | over 3 years ago | A port of Python's psutil to Nim |
| shell | 157 | almost 2 years ago | A mini Nim DSL to execute shell commands more conveniently |
| schedules | 64 | over 4 years ago | A Nim scheduler library that lets you kick off jobs at regular intervals |
| daemon | 32 | almost 7 years ago | Cross-platform process daemonization library for the Nim language |
Operating System / Date and Time | |||
| datetime2human | 8 | about 2 years ago | Calculate date & time with precision from seconds to millenniums. Human friendly date time as string. ISO-8601 |
| timezones | 42 | over 4 years ago | Nim timezone library compatible with the standard library |
| chrono | 78 | about 1 year ago | A timestamps, calendars, and timezones library |
Operating System / Randomization | |||
| random | 68 | about 3 years ago | Random number generation library for Nim, inspired by Python's "random" module |
| sysrandom.nim | 11 | about 7 years ago | A Nim library to generate random numbers and random ranges of bytes using the system's PRNG |
| alea | 44 | over 2 years ago | Define and compose random variables |
| drand48 | 1 | almost 5 years ago | Nim implementation of the standard Unix drand48 random number generator |
Operating System / Scripting | |||
| nimcr | 84 | over 4 years ago | Running Nim code with Shebangs |
| nimr | 46 | over 5 years ago | Run Nim programs like scripts |
System Tools / Backups | |||
| norg | A portable wrapper for borg and restic | ||
Hardware | |||
| nimvisa | 1 | about 5 years ago | Wrapper for NI-VISA instrument control library |
| ftd2xx | 1 | over 3 years ago | Wrapper for FTDI ftd2xx library (USB to JTAG/SPI/I2C/Bitbang etc.) |
Hardware / Embedded | |||
| ratel | 128 | about 3 years ago | Next-generation, zero-cost abstraction microconroller programming in Nim |
| ardunimo | 47 | almost 10 years ago | Nim wrapper for Arduino + LinkIt ONE SDK by Mediatek |
| ardunimesp | Nim wrapper for Arduino ESP8266 framework + A tool for flashing, compiling and making a Nim project into an Arduino project | ||
| msp430f5510 | Run Nim on MSP430f5510 micro-controller (6KB of RAM) | ||
| Nesper | 203 | about 1 year ago | Program the ESP32 using Nim. Library on top of esp-idf |
| stm32f3 | 12 | over 9 years ago | Run Nim on STM32F3 micro-controller (16KB of RAM) |
| boneIO | 15 | over 8 years ago | GPIO implementation for the BeagleBone Black for Nim |
Science | |||
| units | 38 | almost 7 years ago | Statically-typed quantity units library for the Nim language |
| unchained | 110 | over 1 year ago | A fully type safe, compile time only units library |
| metric | 19 | over 7 years ago | A small library providing type-level dimensional analysis |
| orbits | 51 | over 2 years ago | Orbital mechanics library for Nim |
| qex | 53 | 12 months ago | High-level framework for lattice field operations |
Data / Database | |||
| nimongo | 101 | almost 4 years ago | Pure Nim lang MongoDB driver |
| asyncpg | 59 | about 4 years ago | Asynchronous PostgreSQL driver for Nim |
| anonimongo | 44 | almost 2 years ago | Another Nim pure Mongo DB driver |
| redis | 127 | about 1 year ago | Official redis wrapper for Nim |
| amysql | 27 | over 1 year ago | Async MySQL Connector write in pure Nim |
| mycouch | 8 | over 2 years ago | Multisync CouchDB driver for Nim |
| SQLiteral | 50 | about 1 year ago | A high level SQLite API for Nim |
| asyncmysql | 11 | about 5 years ago | Asynchronous MySQL connector written in pure Nim |
| sqlcipher | 4 | over 4 years ago | SQLCipher wrapper |
| litestore | 216 | almost 2 years ago | A lightweight, self-contained, RESTful, searchable, multi-format NoSQL document store |
| rocksdb | 33 | 12 months ago | Nim wrapper for RocksDB, a persistent key-value store for flash and RAM Storage |
| ormin | 153 | almost 4 years ago | Prepared SQL statement generator , A lightweight ORM |
| allographer | 151 | about 1 year ago | A query_builder/ORM library inspired by Laravel/PHP and Orator/Python for Nim |
| gatabase | 120 | about 3 years ago | Connection-Pooling Compile-Time ORM for Nim |
| norm | 387 | over 1 year ago | Norm is an object-oriented, framework-agnostic ORM for Nim that supports SQLite and PostgreSQL |
Data / Data Structures | |||
| BitVector | 17 | over 3 years ago | A high-performance Nim implementation of BitVectors |
| rbtree | 23 | about 2 years ago | A Red/Black tree implementation in Nim |
| quadtree | 9 | over 6 years ago | A Quadtree library for Nim |
| kdtree | 43 | about 5 years ago | A pure Nim k-d tree implementation for efficient spatial querying of point data |
| RTree | 26 | over 4 years ago | Generic R-tree implementation for Nim |
| sorta | 17 | over 5 years ago | SortedTables in Nim, based on B-trees |
| minmaxheap | 2 | over 6 years ago | A Nim implementation of a Minimum-Maximum heap |
| BipBuffer | 6 | over 6 years ago | A Nim implementation of Simon Cooke's Bib Buffer |
| bloom | 15 | over 2 years ago | Bloom filter implementation in Nim |
| binaryheap | 20 | over 4 years ago | Simple binary heap implementation in Nim |
| faststack | 13 | over 9 years ago | Dynamically resizable data structure for fast iteration over large arrays of similar elements |
| StashTable | 36 | over 2 years ago | Concurrent hash tables for Nim |
Data / Data Processing | |||
| NimData | 340 | over 4 years ago | DataFrame API written in Nim, enabling fast out-of-core data processing |
| Datamancer | 135 | about 1 year ago | A dataframe library with a dplyr like API |
| nimdataframe | 15 | over 6 years ago | Dataframe for Nim |
| nimhdf5 | 28 | about 1 year ago | Wrapper and some simple high-level bindings for the HDF5 library for Nim |
| mpfit | 17 | about 3 years ago | A wrapper for the cMPFIT library for Nim |
Data / Parsing | |||
| parsetoml | 114 | over 2 years ago | A Nim library to parse TOML files |
| NimYAML | 192 | over 1 year ago | YAML implementation for Nim |
| Binarylang | 59 | over 2 years ago | Extensible Nim DSL for creating binary parsers/encoders in a symmetric fashion |
Data / Serialization | |||
| serialization | 64 | about 1 year ago | A modern and extensible serialization framework for Nim |
| json-serialization | 48 | 12 months ago | Flexible JSON serialization not relying on run-time type information |
| protobuf-serialization | 20 | over 2 years ago | The nim-protobuf-serialization |
| ssz-serialization | 10 | about 1 year ago | Nim implementation of Simple Serialize (SSZ) serialization and merkleization |
| toml-serialization | 39 | about 1 year ago | Flexible TOML serialization relying on run-time type information |
| frosty | 50 | about 4 years ago | Marshal native Nim objects via streams, sockets |
| protobuf-nim | 171 | about 2 years ago | Protobuf implementation in pure Nim that leverages the power of the macro system to not depend on any external tools |
| flatty | 88 | almost 2 years ago | Tools and serializer for plain flat binary files |
| nesm | NESM is a tool that generates serialization and deserialization code for a given object | ||
| bingo | 20 | over 1 year ago | Binary serialization framework for Nim |
Data / Standards | |||
| isocodes | 13 | about 1 year ago | ISO codes for Nim (ISO 3166-1, ISO 3166-2, ISO 3166-3, ISO 15924, ISO 15924, ISO 639-2, ISO 639-5) |
Text / String Types | |||
| ssostrings | 17 | about 1 year ago | Small String Optimized (SSO) string implementation |
| cowstrings | 18 | about 1 year ago | Copy-On-Write string implementation according to nim-lang/RFCs#221 |
Text / Translation | |||
| tinyslation | 12 | over 6 years ago | Text string translation from free online crowdsourced API |
Text / Markdown | |||
| HastyScribe | 193 | about 2 years ago | Self-contained markdown compiler generating self-contained HTML documents |
| markdown | 152 | over 1 year ago | A beautiful Markdown Parser in the Nim world |
| lester | 6 | almost 4 years ago | Create quick documents out of Markdown, into HTML |
Multimedia / Audio | |||
| paramidi | 77 | over 2 years ago | A Nim library for making MIDI music |
| omni | 189 | over 1 year ago | A DSL for low-level audio programming |
| wave | 22 | about 2 years ago | A tiny WAV sound module |
| parasound | 11 | almost 4 years ago | A library to provide Nim bindings for miniaudio and dr_wav |
| jacket | 7 | about 1 year ago | A Nim wrapper for the libjack C library to write clients for the JACK audio server |
Multimedia / Images | |||
| pixie | 745 | about 1 year ago | A full-featured 2D graphics library for Nim |
| nimpng | 90 | about 2 years ago | PNG (Portable Network Graphics) decoder and encoder written in Nim |
| nimbmp | 14 | almost 5 years ago | BMP decoder and encoder written in Nim |
| nimsvg | 141 | about 3 years ago | A Nim-based DSL allowing generation of SVG files and GIF animations |
| pnm | 4 | over 4 years ago | Library for PNM (Portable Anymap) in Nim |
Multimedia / Documents | |||
| nimpdf | 172 | about 4 years ago | PDF document writer, written in Nim |
Algorithms / Math | |||
| symbolicnim | 41 | about 5 years ago | A symbolic library written purely in Nim |
| impulse | 15 | over 1 year ago | Impulse will be a collection of primitives for signal processing (FFT, Convolutions) |
| vectorize | 15 | over 5 years ago | SIMD vectorization backend |
| vmath | 101 | over 1 year ago | Math vector library for graphical things |
| neo | 245 | over 1 year ago | A matrix library |
| manu | 42 | over 1 year ago | Nim MAtrix NUmeric package - a port of JAMA, adapted to Nim |
| nlopt | 16 | almost 4 years ago | A wrapper for the nonlinear optimization library Nlopt |
Algorithms / Deep Learning | |||
| Arraymancer | 1,342 | about 1 year ago | A fast, ergonomic and portable tensor library in Nim with a deep learning focus for CPU, GPU, OpenCL and embedded devices |
| NimTorch | 464 | over 6 years ago | PyTorch - Python + Nim. A Nim front-end to PyTorch's native backend, combining Nim's speed, productivity and portability with PyTorch's latest implementations |
| laser | 281 | almost 2 years ago | Carefully-tuned primitives for running tensor and image-processing code on CPU, GPUs and accelerators |
Algorithms / Bigints | |||
| bigints | 124 | over 1 year ago | Bigints for Nim |
| stint | 84 | 12 months ago | Stack-based arbitrary-precision integers. Fast and portable with natural syntax for resource-restricted devices |
| theo | 26 | over 3 years ago | An optimized bigint and number theory library for Nim |
Algorithms / Cryptography | |||
| nimcrypto | 192 | about 1 year ago | Nim cryptographic library |
| hashlib | 38 | about 2 years ago | Hash library that contains almost all the hash functions for Nim |
| nimaes | 54 | over 3 years ago | Advanced Encryption Standard, Rinjdael Algorithm written in Nim |
| constantine | 417 | 12 months ago | Constant time pairing-based of elliptic curve based cryptography and digital signatures |
| bslcurve | 26 | about 1 year ago | Nim implementation of BLS signature scheme (Boneh-Lynn-Shacham) over Barreto-Lynn-Scott (BLS) curve BLS12-381 |
| bncurve | 5 | 12 months ago | Nim implementation of Barreto-Naehrig pairing-friendly elliptic curve |
| xxhash.nim | 15 | about 1 year ago | A wrapper for the xxhash hashing library in Nim |
| xxtea | 19 | over 4 years ago | XXTEA encryption algorithm library |
| crc32 | 15 | over 1 year ago | CRC32 for Nim. Just pass the thing you want to do CRC |
| rollinghash | 11 | over 6 years ago | High performance Nim implementation of a Cyclic Polynomial Hash, aka BuzHash, and the Rabin-Karp algorithm |
| murmurhash | 7 | over 6 years ago | Pure Nim implementation of MurmerHash |
| des | 6 | about 6 years ago | DES/3DES, DUKPT and MAC in Nim |
| shimsham | 8 | about 10 years ago | A collection of hash functions, including JH, SHA-2, SHA-3, SipHash, Tiger, and Whirlpool |
| NiMPC | 9 | over 5 years ago | A secure multi-party computation (MPC) library for the Nim programming language |
Algorithms / Blockchain | |||
| eth | 86 | 12 months ago | Common utilities for Ethereum |
| nimbus-eth1 | 592 | 12 months ago | An Ethereum 1.0 and 2.0 client for resource-restricted devices |
| nimbus-eth2 | 555 | 12 months ago | Efficient implementation of the Ethereum 2.0 blockchain |
| evmc | 15 | about 1 year ago | Ethereum VM binary compatible interface |
| ethash | 5 | almost 2 years ago | A pure-Nim implementation of Ethash, the Ethereum proof of work |
| contract-abi | 3 | almost 2 years ago | Implements encoding of parameters according to the Ethereum Contract ABI specification |
Algorithms / Compression | |||
| zippy | 257 | over 1 year ago | Pure Nim implementation of deflate, zlib, gzip and zip |
| supersnappy | 89 | over 2 years ago | Dependency-free and performant Nim Snappy implementation |
| snappy | 27 | about 1 year ago | Nim implementation of Snappy compression algorithm |
| zip | 52 | about 1 year ago | Wrapper for the zip library |
User Interface / Terminal | |||
| illwill | 408 | over 1 year ago | Simple cross-platform terminal library inspired by (n)curses |
| NimCx | Color and utilities for the Linux terminal | ||
| pager | A simple command line pager library, written in Nim | ||
User Interface / Design | |||
| chroma | 107 | about 1 year ago | Everything you want to do with colors, in Nim |
| typography | 148 | over 3 years ago | Fonts, typesetting and rasterization |
| trick | 29 | over 1 year ago | Library for GBA/NDS image conversion, and more! |
| HexToAnsi | 0 | about 1 year ago | Convert hexadecimal colors to ANSI colors |
User Interface / GUI | |||
| nimx | 1,103 | 12 months ago | Desktop, Mobile & Web GUI framework in Nim |
| NiGui | 725 | over 1 year ago | A cross-platform, desktop GUI toolkit |
| ui | 240 | almost 3 years ago | Wrapper for libui. Beginnings of what might become Nim's official UI library |
| uing | 167 | about 1 year ago | Wrapper & bindings for libui-ng, an updated and maintained fork of libui |
| iup | 47 | about 4 years ago | Wrapper for IUP. Beginnings of what might become Nim's official UI library |
| SDL2 | 235 | about 1 year ago | Official wrapper for SDL 2.x |
| SDL2 | 145 | over 3 years ago | A wrapper for SDL 2 |
| Owlkettle | 385 | about 1 year ago | Declarative user interface framework based on GTK |
| libtray | 13 | over 1 year ago | Nim wrapper for Tray (dmikushin's fork), a library to create system tray/menu bar icon with a popup menu |
| wNim | 326 | over 1 year ago | Nim's Windows GUI Framework |
| gintro | 298 | over 2 years ago | High-level GObject-Introspection based GTK3/GTK4 bindings for Nim |
| nimqml | 166 | over 1 year ago | Qt QML bindings for the Nim programming language |
| Neel | 230 | about 2 years ago | A library for making Electron-like HTML/JS GUI apps |
| nimview | 150 | about 3 years ago | A Nim/Webview based helper to create desktop/server applications with Nim and HTML/CSS |
| webgui | 140 | about 1 year ago | Web technologies based cross-platform GUI Framework with a dark theme |
| fidget | 770 | over 1 year ago | Figma based UI library for Nim, with HTML and OpenGL backends |
| nsciter | High-level and low-level Nim wrapper for | ||
| webview | 31 | about 1 year ago | Nim bindings and wrapper for Webview |
| webui | 132 | over 1 year ago | Nim bindings and wrapper for WebUI |
| imgui | 135 | almost 2 years ago | ImGui bindings for Nim via cimgui |
| nimAntTweakBar | 11 | about 4 years ago | Wrapper for AntTweakBar |
User Interface / Plotting | |||
| ggplotnim | 176 | about 1 year ago | A port of ggplot2 for Nim |
| plotly | 181 | over 1 year ago | A plotly wrapper for Nim |
| graph | 28 | over 5 years ago | A basic plotting library in Nim |
| nimetry | 7 | over 6 years ago | Simple plotting in pure Nim |
| nimgraphviz | 6 | about 4 years ago | A Nim library for making graphs with GraphViz and DOT |
Web / Protocols | |||
| http-utils | 27 | about 1 year ago | HTTP helper procedures |
| puppy | 189 | almost 2 years ago | Puppy fetches HTML pages for Nim |
| netty | 121 | over 2 years ago | Reliable UDP connection library for games in Nim |
| json-rpc | 92 | about 1 year ago | Nim library for implementing JSON-RPC clients and servers |
| nmqtt | 48 | almost 2 years ago | Native Nim MQTT client library |
| libp2p | 253 | 12 months ago | A Nim implementation of the libp2p networking stack |
| libp2p-dht | 3 | 12 months ago | DHT based on the libp2p kademlia spec |
| webdavclient | 10 | about 5 years ago | WebDAV client for Nim |
| stomp | 0 | over 7 years ago | A pure-Nim client library for interacting with Stomp compliant message brokers |
| presto | 56 | about 1 year ago | An efficient REST API framework |
| gemini | 2 | over 4 years ago | Building blocks for creating Gemini servers and clients |
| yahttp | 24 | about 1 year ago | Awesome simple HTTP client |
| ndns | 22 | over 1 year ago | A pure Nim Domain Name System (DNS) client |
| dnsprotocol | 17 | over 1 year ago | Domain Name System (DNS) protocol for Nim programming language |
| quic | 42 | about 1 year ago | QUIC for Nim. This is very much a work in progress, and not yet in a usable state |
| ngtcp2 | 4 | about 1 year ago | A wrapper around ngtcp2: an effort to implement IETF QUIC protocol |
| ws | 254 | almost 2 years ago | Simple WebSocket library for Nim |
| websocket.nim | 102 | almost 3 years ago | WebSockets for Nim |
| news | 36 | over 2 years ago | Nim Easy WebSocket. Based on ws |
| jswebsockets | WebSockets optimized for JavaScript targets | ||
| websock | 83 | about 1 year ago | An implementation of the WebSocket protocol for Nim |
| telebot.nim | 169 | about 1 year ago | Async client for Telegram Bot API in pure Nim |
| dimscord | 231 | over 1 year ago | A Discord Bot & REST Library for Nim |
| nwaku | 206 | 12 months ago | Implementation of the Waku v1 and v2 protocols |
| status | 9 | about 4 years ago | Nim implementation of the Status protocol |
| nimMulticast | 14 | over 1 year ago | UDP Multicast made simple |
Web / HTML Parsers | |||
| Nimquery | 134 | almost 3 years ago | Library for querying HTML using CSS selectors, like JavaScript's |
Web / HTTP Servers | |||
| httpbeast | 449 | almost 2 years ago | A highly performant, multi-threaded HTTP 1.1 server ( ) |
| httpx | 90 | about 1 year ago | Cross platform web server for Nim. A fork of httpbeast adding Windows support |
| GuildenStern | 79 | 12 months ago | Genuinely multithreading integrated HTTP/1.1 + WebSocket v13 Server for POSIX-compliant OSes |
| Mummy | 285 | about 1 year ago | A multi-threaded HTTP 1.1 server with first-class support for WebSockets |
| netkit | 66 | about 5 years ago | Out-of-the-box, stable and secure network facilities and utilities written in pure Nim |
| jshttp2 | Async HTTPS 2.0 web server | ||
Web / Gemini Servers | |||
| Geminim | 35 | over 3 years ago | A Gemini server |
| Nemini | A very simple Gemini server for serving static gemtext files | ||
Web / Frameworks | |||
| Jester | 1,582 | almost 2 years ago | The sinatra-like web framework for Nim. Jester provides a DSL for quickly creating web applications in Nim |
| prologue | 1,254 | about 1 year ago | A fullstack web framework written in Nim |
| whip | 85 | over 5 years ago | Simple and fast HTTP server for Nim based on httpbeast and nest for high performance routing |
| basolato | 236 | about 1 year ago | A fullstack web framework for Nim based on Jester |
| karax | 1,086 | about 1 year ago | A framework for developing single page applications in Nim |
| happyx | 550 | 12 months ago | A macro-oriented full stack asynchronous web framework written in Nim |
| scorper | 81 | over 1 year ago | A micro and elegant web framework written in Nim |
| starlight | 26 | about 5 years ago | Flask-like web framework written in Nim |
| rosencrantz | 198 | about 3 years ago | DSL to write web servers, inspired by Spray and its successor Akka HTTP |
| nim_websitecreator | 177 | almost 2 years ago | Nim fullstack website framework - deploy a website within minutes |
| nim-palladian | 26 | about 2 years ago | Palladian is a Nim front-end framework based on and wrapped around Preact |
Web / Template Engines | |||
| Nim Source Code filters | Nim's powerful built-in feature which can be used as a templating system or a preprocessor | ||
| smalte | 34 | almost 4 years ago | It is a dead simple and lightweight template engine. Specially designed for configure application before start in Docker |
| html-dsl | 66 | over 5 years ago | Nim HTML DSL |
| templates | 94 | about 6 years ago | A simple string templating library for Nim |
| nimja | 186 | about 1 year ago | Typed and compiled template engine inspired by jinja2, twig and onionhammer/nim-templates for Nim |
| mustache | 64 | over 2 years ago | A full implementation of v1.2.1 of the Mustache spec |
| Tim | 50 | about 1 year ago | A high-performance template engine & markup language |
Web / Authentication | |||
| httpauth | 86 | over 4 years ago | HTTP Authentication library for Nim |
| oauth | 66 | over 1 year ago | OAuth library for Nim |
Game Development / Game Libraries | |||
| nimgl | 369 | over 1 year ago | NimGL is a Nim library that offers bindings for popular libraries used in computer graphics |
| glm | 96 | over 4 years ago | Port of the popular glm C++ library to Nim |
| GLAD | 3,838 | about 1 year ago | Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs |
| enu | 455 | about 1 year ago | 3D live coding with a Logo-like DSL for Godot, implemented in Nim |
Game Development / Game Frameworks | |||
| nico | 635 | over 1 year ago | Nim Game Framework based on Pico-8 |
| natu | 226 | almost 2 years ago | Toolkit for writing Game Boy Advance games in Nim |
| naylib | 239 | 12 months ago | safe Raylib wrapper |
| c4 | 90 | almost 2 years ago | Modular and extensible 2D and 3D game framework for Nim |
| paranim | 114 | about 2 years ago | A game library based around carefully chosen abstractions |
Game Development / Game Engines | |||
| NimForUE | 492 | 12 months ago | Nim plugin for UE5 with native performance, hot reloading and full interop that sits between C++ and Blueprints |
| nimgame2 | 174 | about 4 years ago | A simple 2D game engine for Nim |
| norx | 18 | 12 months ago | A complete wrapper of the ORX 2.5D cross platform game engine library |
| godot-nim | 501 | almost 3 years ago | Nim bindings for Godot Engine |
| rod | 138 | almost 3 years ago | Cross-platform 2D and 3D game engine |
| frag | 21 | over 2 years ago | Cross-platform 2D/3D game engine |
| semicongine | 37 | 12 months ago | Cross-platform, (almost) dependency-free game engine |
| saohime | 12 | about 1 year ago | An extensible 2D game engine for Nim, inspired by Bevy Engine |
| alasgar | 91 | about 1 year ago | Pure nim 3D game engine based on OpenGL |
Game Development / Rules Engines | |||
| turn_based_game | 18 | almost 6 years ago | A game rules engine for simulating or playing turn-based games |
| pararules | 143 | about 2 years ago | A RETE-based rules engine made for games |
Development Tools / Editor Integration | |||
| Editor Support | 16,662 | 12 months ago | Official list of editor plugins for Nim |
| nimlsp | 418 | over 1 year ago | The Language Server Protocol implementation for Nim |
| nim.nvim | 205 | about 2 years ago | Nim plugin for NeoVim |
| vscode-nim | 177 | over 1 year ago | Language support for the Nim programming language for VS Code |
Development Tools / REPL | |||
| INim | 647 | over 1 year ago | Interactive Nim Shell |
| jupyternim | 164 | almost 3 years ago | A Jupyter kernel for Nim |
Development Tools / Binding Generators | |||
| c2nim | 511 | about 2 years ago | c2nim is a tool to translate Ansi C code to Nim |
| nimgen | 115 | over 4 years ago | nimgen is a helper for c2nim to simplify and automate the wrapping of C libraries. Superseded by nimterop |
| nimterop | 362 | over 2 years ago | A Nim package that leverages tree-sitter to make C/C++ interop seamless. Superseded by Futhark |
| Futhark | 400 | about 1 year ago | Automatic wrapping of C headers in Nim with libclang |
| nimpy | 1,482 | over 1 year ago | Generate Python wrappers and call Python from Nim |
| jnim | 188 | over 2 years ago | Nim - Java bridge |
Development Tools / Build Systems / Package Management | |||
| ChooseNim | 680 | over 1 year ago | Installing and switching between Nim versions (à la rustup, pyenv) |
| Nake | 144 | almost 4 years ago | Describe your Nim builds as tasks |
| Nawabs | 21 | over 4 years ago | A build system that throws away version numbering in favor of git hashes |
| Nimble | 1,265 | 12 months ago | Nimble can be used as a build system |
| nimph | 159 | almost 2 years ago | Nim package hierarchy manager from the future |
| nimby | 14 | over 2 years ago | A very simple and unofficial package manager for Nim |
| nifty | 44 | over 2 years ago | A decentralized pseudo package manager and script runner |
| nsis | 4 | almost 4 years ago | Nim programming language setup tool |
| nim-windows-container | 22 | over 2 years ago | A Windows Container with a complete Nim build environment |
Development Tools / Logging | |||
| chronicles | 161 | about 1 year ago | A crafty implementation of structured logging for Nim |
| morelogging | 52 | over 2 years ago | Logging library for Nim |
Development Tools / Testing | |||
| faker | 40 | over 1 year ago | A Nim package that generates fake data for you |
| balls | 68 | over 1 year ago | A unittest macro to save the world, or at least your Sunday |
| einheit | 48 | about 6 years ago | A Nim unit testing library inspired by Python's unit tests |
| asynctest | 13 | over 1 year ago | Complements the standard unittest module in Nim to allow testing of asynchronous code |
| unittest2 | 26 | 12 months ago | Fork of the "unittest" Nim module focusing on parallel test execution, test-level scoping and strict exception handling |
Development Tools / Fuzzing | |||
| drchaos | 68 | over 2 years ago | A powerful and easy-to-use fuzzing framework in Nim for C/C++/Obj-C targets |
| libfuzzer | 43 | almost 3 years ago | LibFuzzer's interface bindings |
Development Tools / Benchmarking | |||
| golden | 29 | almost 5 years ago | A benchmark for compile-time and/or runtime Nim |
| timeit | 35 | about 3 years ago | Measuring execution times written by Nim |
| criterion | 24 | over 1 year ago | Statistic-driven micro-benchmark framework |
| stopwatch | A fork of rbmz's stopwatch that adds extra features | ||
| nimbench | 18 | over 5 years ago | A micro benchmark module for Nim |
Development Tools / Command-Line Interface Automation | |||
| cligen | 516 | about 1 year ago | Infer & generate command-line interace/option/argument parsers |
| docopt.nim | 214 | about 2 years ago | Command-line args parser |
| argparse | 123 | over 1 year ago | Argument parsing for Nim |
| clapfn | 15 | over 1 year ago | Argument parsing similar to Python's argparse |
| cliche | 82 | about 1 year ago | AutoMagic CLI argument parsing is so cliché |
| loki | 32 | over 4 years ago | A small library for writing line-oriented command interpreters in Nim |
| confutils | 64 | about 1 year ago | Simplified handling of command line options and config files |
| Cmdos | 1 | about 1 year ago | A simple way to process cli arguments and help messages |
Resources / Books | |||
| Nim in Action | Book in Manning's "in Action" series, teaching Nim through 3 practical projects including CLI chat apps, web apps and parsers | ||
| Computer Programming with Nim | A gentle introduction to the Nim programming language | ||
| Nim Basics | Tutorial for beginners and people just starting with Nim | ||
| Nim Style Guide | Status style guide for the Nim language | ||
| Mastering Nim | A complete guide to the programming language | ||
Resources / Blogs | |||
| Nim Blog | Official Nim blog | ||
| Goran Krampe | Wrapping C, Arduino, performance, links | ||
| HookRace | Blog with multiple articles on Nim | ||
| Rants from the Ballmer Peak | Posts on Nim and other languages | ||
| Yuriy Glukhov's blog | Making and shipping a game in Nim | ||
| Araq's Musings | Blog on Nim from the creator himself | ||
| Nim on dev.to | Nim blogs on | ||
Resources / Community | |||
| The Nim forum | |||
| The Nim IRC channel | |||
| The Nim Gitter channel | |||
| The Nim Discord channel | |||
| The Nim mailing list (forum archive) | |||
| The Nim subreddit | |||
| The Nim Telegram | |||
| The Nim Telegram in Spanish | |||
| The Nim Matrix room | |||
Resources / Tutorials | |||
| 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 | ||
| 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 | 16,662 | 12 months ago | Guide to Nim for people with experience in Python |
| Nim on Rosetta Code | Thousands of solutions for various tasks using Nim | ||
| Nim Memory | A small tutorial explaining how Nim stores data in memory | ||
| Nim ARC | A friendly explanation of ARC and its implications for the programmer | ||
| nimNx | 11 | almost 3 years ago | A Nintendo Switch Homebrew example project, written in Nim |
| nimNxStatic | 3 | almost 3 years ago | A static library example aiming to help integrate Nim code into the current Homebrew C projects for Nintendo Switch |
Resources / Videos | |||
| Nim's Official Channel | Official videos introduce the powerful and interesting part in Nim language | ||
| Nim for Beginners | This is a video series meant to teach people programming in Nim to people who have never programmed before, or are new to Nim | ||
| Make a website with Nim | This is a video series meant to teach people make a website with Nim using | ||
| Learning Nim | Tutorial video series on learning Nim showcasing various features of the language and its libraries | ||
| araq twitch | The live broadcast regarding Nim language | ||
| alehander42 twitch | The live broadcast regarding Nim language | ||
| clyybber twitch | The live broadcast regarding Nim language | ||
| d0m96 twitch | The live broadcast regarding Nim language | ||
| disruptek twitch | The live broadcast regarding Nim language | ||
| yardanico twitch | The live broadcast regarding Nim language | ||
| zachary_carter twitch | The live broadcast regarding Nim language | ||
| Nim Tutorials | YouTube video series that teaches how to program in Nim and goes over various standared libraries | ||