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