{"id":1481,"url":"https://github.com/ringabout/awesome-nim","name":"awesome-nim","description":"A curated list of awesome Nim frameworks, libraries, software and resources.","projects_count":421,"last_synced_at":"2026-08-06T10:00:30.589Z","repository":{"id":38214971,"uuid":"287497982","full_name":"ringabout/awesome-nim","owner":"ringabout","description":"A curated list of awesome Nim frameworks, libraries, software and resources.","archived":false,"fork":false,"pushed_at":"2026-07-16T02:42:24.000Z","size":201,"stargazers_count":1507,"open_issues_count":10,"forks_count":90,"subscribers_count":35,"default_branch":"main","last_synced_at":"2026-07-16T04:27:30.835Z","etag":null,"topics":["awesome","awesome-list","hackertoberfest","nim","nim-language"],"latest_commit_sha":null,"homepage":"","language":"Nim","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ringabout.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-08-14T09:40:15.000Z","updated_at":"2026-07-16T02:42:28.000Z","dependencies_parsed_at":"2024-01-05T23:57:04.047Z","dependency_job_id":"8e527307-d1fc-48d5-add5-60037a8c12f6","html_url":"https://github.com/ringabout/awesome-nim","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ringabout/awesome-nim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringabout%2Fawesome-nim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringabout%2Fawesome-nim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringabout%2Fawesome-nim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringabout%2Fawesome-nim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ringabout","download_url":"https://codeload.github.com/ringabout/awesome-nim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringabout%2Fawesome-nim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36334186,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"ssl_error","status_checked_at":"2026-08-06T04:43:02.660Z","response_time":54,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"created_at":"2024-01-04T17:52:57.366Z","updated_at":"2026-08-06T10:00:30.590Z","primary_language":"Nim","list_of_lists":false,"displayable":true,"categories":["Resources","Development Tools","Language Features","Operating System","Data","User Interface","Web","Multimedia","Algorithms","Science","Game Development","Hardware","Text","System Tools","Mobile"],"sub_categories":["Community","Editor Integration","Editors","Package Repositories","Blogs","Tutorials","Async IO","IO","Serialization","Terminal","Protocols","HTTP Servers","Gemini Servers","Template Engines","Books","Videos","Static Analysis","Threading","Audio","GUI","Frameworks","Database","Authentication","Binding Generators","Implementations","Scripting","Deep Learning","Embedded","Command-Line Interface Automation","Game Frameworks","Game Engines","Build Systems / Package Management","System API","Game Libraries","Data Processing","Cryptography","Benchmarking","Images","Date and Time","Macros","Pattern Matching","Translation","HTML Parsers","Markdown","Plotting","Blockchain","Standard Libraries","Error Handling","Contracts","Object-Oriented Programming","Functional Programming","Iteration","Processes","Randomization","Backups","Data Structures","Parsing","Standards","String Types","Documents","Math","Bigints","Compression","Design","Rules Engines","REPL","Logging","Testing","Fuzzing","Prometheus exporters"],"readme":"\u003ch1\u003e \u003ca href=\"https://nim-lang.org\"\u003e\u003cimg src=\"asset/awesome-nim-logo.svg\" alt=\"Awesome-nim-logo\" width=\"600\"/\u003e\u003c/a\u003e\u003ca href=\"https://awesome.re\"\u003e\u003cimg align=\"right\" src=\"https://awesome.re/badge.svg\"\u003e\u003c/a\u003e \u003c/h1\u003e\n\n\u003e A curated list of awesome Nim frameworks, libraries, software and resources.\n\n[Nim](https://nim-lang.org/) is a statically typed compiled systems programming language. Good for everything from shell scripting to web front \u0026 backend, to ML, HPC, and embedded.\n\n\u003ch2\u003e Contents \u003c/h2\u003e\n\n- [Language Features](#language-features)\n  - [Implementations](#implementations)\n  - [Standard Libraries](#standard-libraries)\n  - [Package Repositories](#package-repositories)\n  - [Editors](#editors)\n  - [Async IO](#async-io)\n  - [Threading](#threading)\n  - [Error Handling](#error-handling)\n  - [Contracts](#contracts)\n  - [Object-Oriented Programming](#object-oriented-programming)\n  - [Functional Programming](#functional-programming)\n  - [Pattern Matching](#pattern-matching)\n  - [Iteration](#iteration)\n  - [Macros](#macros)\n- [Operating System](#operating-system)\n  - [System API](#system-api)\n  - [IO](#io)\n  - [Processes](#processes)\n  - [Date and Time](#date-and-time)\n  - [Randomization](#randomization)\n  - [Scripting](#scripting)\n- [System Tools](#system-tools)\n  - [Backups](#backups)\n  - [Prometheus exporters](#prometheus-exporters)\n- [Hardware](#hardware)\n  - [Embedded](#embedded)\n- [Science](#science)\n- [Data](#data)\n  - [Database](#database)\n    - [Driver](#driver)\n    - [ORM](#orm)\n  - [Data Structures](#data-structures)\n  - [Data Processing](#data-processing)\n  - [Parsing](#parsing)\n  - [Serialization](#serialization)\n  - [Standards](#standards)\n- [Text](#text)\n  - [String Types](#string-types)\n  - [Translation](#translation)\n  - [Markdown](#markdown)\n- [Multimedia](#multimedia)\n  - [Audio](#audio)\n  - [Images](#images)\n  - [Documents](#documents)\n- [Algorithms](#algorithms)\n  - [Math](#math)\n    - [Symbolic](#symbolic)\n    - [FFT](#fft)\n    - [Vector](#vector)\n    - [Matrix](#matrix)\n  - [Deep Learning](#deep-learning)\n  - [Bigints](#bigints)\n  - [Cryptography](#cryptography)\n  - [Blockchain](#blockchain)\n  - [Compression](#compression)\n- [User Interface](#user-interface)\n  - [Terminal](#terminal)\n  - [Design](#design)\n  - [GUI](#gui)\n    - [Crossplatform](#crossplatform)\n    - [Windows](#windows)\n    - [Linux](#linux)\n    - [Web Technology](#web-technology)\n    - [Lightweight](#lightweight)\n  - [Plotting](#plotting)\n- [Mobile](#mobile)\n- [Web](#web)\n  - [Protocols](#protocols)\n    - [DNS](#dns)\n    - [QUIC](#quic)\n    - [Websockets](#websockets)\n    - [Messaging](#messaging)\n    - [Multicast](#multicast)\n  - [HTML Parsers](#html-parsers)\n  - [HTTP Servers](#http-servers)\n  - [Gemini Servers](#gemini-servers)\n  - [Frameworks](#frameworks)\n  - [Template Engines](#template-engines)\n  - [Authentication](#authentication)\n- [Game Development](#game-development)\n  - [Game Libraries](#game-libraries)\n  - [Game Frameworks](#game-frameworks)\n  - [Game Engines](#game-engines)\n  - [Rules Engines](#rules-engines)\n- [Development Tools](#development-tools)\n  - [Editor Integration](#editor-integration)\n  - [REPL](#repl)\n  - [Binding Generators](#binding-generators)\n  - [Build Systems / Package Management](#build-systems--package-management)\n  - [Logging](#logging)\n  - [Testing](#testing)\n  - [Fuzzing](#fuzzing)\n  - [Benchmarking](#benchmarking)\n  - [Command-Line Interface Automation](#command-line-interface-automation)\n  - [Static Analysis](#static-analysis)\n- [Resources](#resources)\n  - [Books](#books)\n  - [Blogs](#blogs)\n  - [Community](#community)\n  - [Tutorials](#tutorials)\n  - [Videos](#videos)\n  - [Footnotes](#footnotes)\n\n\n## Language Features\n\n\n### Implementations\n\n- [Nim](https://github.com/nim-lang/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).\n- [nlvm](https://github.com/arnetheduck/nlvm) - LLVM backend for Nim.\n\n\n### Standard Libraries\n\nNim provides unique features for seamless and transparent interoperability with other technologies. Some users found it useful to make other standard libraries usable from Nim.\n\n- [cpython](https://github.com/juancarlospaco/cpython) - Python standard library for Nim.\n- [Node.js](https://github.com/juancarlospaco/nodejs) - Node.js standard library for Nim.\n\n\nAlso, unlike those above, which requires runtime dependancy, some pure-Nim libraries are implemented.\n\n- [pylib](https://github.com/nimpylib/pylib) - Pure Nim implementation for Python builtins, libraries and sugars.\n\n\n### Package Repositories\n\n- [Nim packages](https://github.com/nim-lang/packages) - List of packages for Nimble.\n- [Nim package directory](https://nimble.directory/) - Explore Nim packages known to Nimble.\n\n\n### Editors\n- [moe](https://github.com/fox0430/moe) - A vim-like editor made with Nim, also supports C, Rust, Javascript, etc.\n- [Nev](https://github.com/Nimaoth/Nev) - A keyboard focused GUI and terminal text editor.\n- [Nim Playground](https://play.nim-lang.org/) - Code and run Nim online.\n- [DoongJohn's Nim playground](https://doongjohn.github.io/nim-playground/) - An alternative implementation of the Nim playground.\n\n\n### Async IO\n\n- [std/async](https://nim-lang.org/docs/async.html) - Async/await implementation in Nim's stdlib (aka asyncdispatch).\n- [chronos](https://github.com/status-im/nim-chronos) - An efficient library for asynchronous programming.\n- [cps](https://github.com/disruptek/cps) - Continuation-Passing Style for Nim.\n\n\n### Threading\n\n- [malebolgia](https://github.com/Araq/malebolgia) - A powerful library in Nim that simplifies the implementation of concurrent and parallel programming.\n- [weave](https://github.com/mratsim/weave) - A state-of-the-art multithreading runtime: message-passing based, fast, scalable, ultra-low overhead.\n- [timerpool](https://github.com/mikra01/timerpool) - Threadsafe timerpool implementation for event purposes.\n- [taskpools](https://github.com/status-im/nim-taskpools) - Lightweight, energy-efficient, easily auditable threadpools.\n- [shared](https://github.com/genotrance/shared) - A Nim library for shared types.\n- [synthesis](https://github.com/mratsim/Synthesis) - A compiletime, procedure-based, low-overhead, no-allocation, state-machine generator optimized for communicating processes and threads.\n- [sync](https://github.com/planetis-m/sync) - Useful synchronization primitives.\n- [threadlogging](https://codeberg.org/pswilde/threadlogging) - A thread safe logging library using Nim's own logging module\n\n\n### Error Handling\n\n- [result](https://github.com/arnetheduck/nim-result/) - Friendly, exception-free value-or-error returns, similar to Option[T].\n- [questionable](https://github.com/status-im/questionable) - Elegant optional types for Nim.\n- [optionsutils](https://github.com/PMunch/nim-optionsutils) - Utility macros for easier handling of options in Nim.\n\n\n### Contracts\n\n- [contracts](https://github.com/Udiknedormin/NimContracts) - Used to make contracts - elegant promises that pieces of code will fulfill certain conditions.\n- [contra](https://github.com/juancarlospaco/nim-contra) - Lightweight and fast self-documenting design by contract programming.\n\n\n### Object-Oriented Programming\n\n- [oop_utils](https://github.com/bluenote10/oop_utils) - Nim macros for building OOP class hierarchies.\n- [interfaced](https://github.com/andreaferretti/interfaced) - Interfaces for Nim.\n- [traitor](https://github.com/beef331/traitor) - A macro heavy trait library made from boredom.\n- [classes](https://github.com/jjv360/nim-classes) - Python-style class system for Nim.\n- [classy](https://github.com/nigredo-tori/classy) - Haskell-style typeclasses for Nim.\n\n\n### Functional Programming\n\n- [cascade](https://github.com/citycide/cascade) - Method \u0026 assignment cascades for Nim, inspired by Smalltalk \u0026 Dart.\n- [nimfp](https://github.com/vegansk/nimfp) - Nim functional programming library.\n- [nim-pipexp](https://github.com/ShalokShalom/nim-pipexp) - Expression-based pipe operators with placeholder argument for Nim.\n- [pipe](https://github.com/5paceToast/pipe) - Pipe operator for Nim, as seen in functional languages.\n- [zero-functional](https://github.com/zero-functional/zero-functional) - A library providing (almost) zero-cost chaining for functional abstractions in Nim.\n\n\n### Pattern Matching\n\n- [razaberi](https://github.com/Beglaa/razaberi) - Pattern matching library, 2000+ test cases, exhaustiveness checking, deep destructuring support.\n- [regex](https://github.com/nitely/nim-regex) - Pure Nim regex engine with linear time match.\n- [npeg](https://github.com/zevv/npeg) - PEGs for Nim, another take.\n- [patty](https://github.com/andreaferretti/patty) - A pattern matching library for Nim.\n- [gara](https://github.com/alehander42/gara) - Macro-based pattern matching library.\n- [glob](https://github.com/citycide/glob) - Pure library for matching file paths against Unix style glob patterns.\n- [ast_pattern_match](https://github.com/krux02/ast-pattern-matching) - A library to do pattern matching on the AST.\n- [awk](https://github.com/greencardamom/awk) - A library of awk functions in Nim.\n- [tinyre](https://github.com/khchen/tinyre) - A tiny regex engine based on Rob Pike's VM implementation.\n\n\n### Iteration\n\n- [iterrr](https://github.com/hamidb80/iterrr) - Macros-based functional-style, lazy-like, extensible iterator library.\n- [itertools](https://github.com/narimiran/itertools) - Nim rewrite of a very popular Python module of the same name.\n- [loopfusion](https://github.com/numforge/loopfusion) - Iterate efficiently over a variadic number of containers.\n- [looper](https://github.com/b3liever/looper) - For loop macros for Nim.\n\n\n### Macros\n\n- [macroutils](https://github.com/PMunch/macroutils) - A package that makes creating macros easier.\n- [nimacros](https://github.com/FemtoEmacs/nimacros) - Documentation for Nim macros.\n- [unpack](https://github.com/technicallyagd/unpack) - Sequence/object unpacking/destructuring.\n- [with](https://github.com/zevv/with) - The `with` macro for Nim.\n- [memo](https://github.com/andreaferretti/memo) - Memoization for Nim.\n\n\n## Operating System\n\n### System API\n\n- [winim](https://github.com/khchen/winim) - Nim's Windows API and COM Library.\n- [serial](https://github.com/euantorano/serial.nim) - A Nim library for accessing serial ports.\n- [tempdir](https://github.com/euantorano/tempdir.nim) - A Nim library to create and manage temporary directories.\n- [nimbluez](https://github.com/Electric-Blue/NimBluez) - Nim modules for access to system Bluetooth resources.\n\n\n### IO\n\n- [std/selectors](https://nim-lang.org/docs/selectors.html) - Epoll/Kqueue/Select implementation in Nim's stdlib.\n- [ioselectors](https://github.com/xflywind/ioselectors) - The ioselectors plus for Nim.\n- [wepoll](https://github.com/xflywind/wepoll) - Windows epoll wrapper for Nim.\n- [faststreams](https://github.com/status-im/nim-faststreams) - Nearly zero-overhead input/output streams for Nim.\n- [lockfreequeues](https://github.com/elijahr/lockfreequeues) - Lock-free queue implementations for Nim.\n\n\n### Processes\n\n- [psutil](https://github.com/johnscillieri/psutil-nim) - A port of Python's psutil to Nim.\n- [shell](https://github.com/Vindaar/shell) - A mini Nim DSL to execute shell commands more conveniently.\n- [schedules](https://github.com/soasme/nim-schedules) - A Nim scheduler library that lets you kick off jobs at regular intervals.\n- [daemon](https://github.com/status-im/nim-daemon) - Cross-platform process daemonization library for the Nim language.\n\n\n### Date and Time\n\n- [datetime2human](https://github.com/juancarlospaco/nim-datetime2human) - Calculate date \u0026 time with precision from seconds to millenniums. Human friendly date time as string. ISO-8601.\n- [timezones](https://github.com/GULPF/timezones) - Nim timezone library compatible with the standard library.\n- [chrono](https://github.com/treeform/chrono) - A timestamps, calendars, and timezones library.\n\n\n### Randomization\n\n- [random](https://github.com/oprypin/nim-random) - Random number generation library for Nim, inspired by Python's \"random\" module.\n- [sysrandom.nim](https://github.com/euantorano/sysrandom.nim) - A Nim library to generate random numbers and random ranges of bytes using the system's PRNG.\n- [alea](https://github.com/andreaferretti/alea) - Define and compose random variables.\n- [drand48](https://github.com/JeffersonLab/drand48) - Nim implementation of the standard Unix drand48 random number generator.\n\n\n### Scripting\n\n- [nimcr](https://github.com/PMunch/nimcr) - Running Nim code with Shebangs.\n- [nimr](https://github.com/Jeff-Ciesielski/nimr) - Run Nim programs like scripts.\n- [nimbang](https://github.com/jabbalaci/nimbang) - Running Nim programs as scripts with shebang.\n\n\n## System Tools\n\n### Backups\n\n- [norg](https://codeberg.org/pswilde/norgbackup) - A portable wrapper for borg and restic.\n\n### Prometheus exporters\n\n- [node-exporter-lite](https://github.com/twekkel/node_exporter-lite) - An ultra‑light [node_exporter](https://github.com/prometheus/node_exporter) replacement.\n- [unbound-exporter-lite](https://github.com/twekkel/unbound_exporter-lite) - An ultra‑light [unbound_exporter](https://github.com/letsencrypt/unbound_exporter) replacement.\n\n\n## Hardware\n\n- [nimvisa](https://github.com/leeooox/nimvisa) - Wrapper for NI-VISA instrument control library.\n- [ftd2xx](https://github.com/leeooox/ftd2xx) - Wrapper for FTDI ftd2xx library (USB to JTAG/SPI/I2C/Bitbang etc.).\n\n\n### Embedded\n\n- [ratel](https://github.com/PMunch/ratel) - Next-generation, zero-cost abstraction microconroller programming in Nim.\n- [ardunimo](https://github.com/gokr/ardunimo) - Nim wrapper for Arduino + LinkIt ONE SDK by Mediatek.\n- [ardunimesp](https://gitlab.com/NetaLabTek/Arduimesp) - Nim wrapper for Arduino ESP8266 framework + A tool for flashing, compiling and making a Nim project into an Arduino project.\n- [avr_io](https://github.com/Abathargh/avr_io) - Nim register bindings and utilities for AVR microcontrollers.\n- [avrman](https://github.com/Abathargh/avrman) - A tool for managing Nim and C projects targetting AVR microcontrollers.\n- [msp430f5510](https://gitlab.com/jalexander8717/msp430f5510-nim) - Run Nim on MSP430f5510 micro-controller (6KB of RAM).\n- [Nesper](https://github.com/elcritch/nesper) - Program the ESP32 using Nim. Library on top of esp-idf.\n- [stm32f3](https://github.com/mwbrown/nim_stm32f3) - Run Nim on STM32F3 micro-controller (16KB of RAM).\n- [boneIO](https://github.com/xyz32/boneIO) - GPIO implementation for the BeagleBone Black for Nim.\n\n\n## Science\n\n- [units](https://github.com/Udiknedormin/NimUnits) - Statically-typed quantity units library for the Nim language.\n- [unchained](https://github.com/SciNim/Unchained) - A fully type safe, compile time only units library.\n- [metric](https://github.com/mjendrusch/metric) - A small library providing type-level dimensional analysis.\n- [orbits](https://github.com/treeform/orbits) - Orbital mechanics library for Nim.\n- [qex](https://github.com/jcosborn/qex) - High-level framework for lattice field operations.\n\n## Data\n\n### Database\n\n#### Driver\n\n- [amysql](https://github.com/bung87/amysql) - Async MySQL Connector write in pure Nim.\n- [anonimongo](https://github.com/mashingan/anonimongo) - Another Nim pure Mongo DB driver.\n- [asyncmysql](https://github.com/tulayang/asyncmysql) - Asynchronous MySQL connector written in pure Nim.\n- [asyncpg](https://github.com/cheatfate/asyncpg) - Asynchronous PostgreSQL driver for Nim.\n- [db_connector](https://github.com/nim-lang/db_connector) - Unified db connector in Nim.\n- [kuzu](https://github.com/mahlonsmith/nim-kuzu) - Wrapper for Kuzu - an embedded graph database built for query speed and scalability.\n- [limdb](https://github.com/capocasa/limdb) - Very high performance, persistent and safe key-value store based on LMDB with Nim table-like interface.\n- [litestore](https://github.com/h3rald/litestore) - A lightweight, self-contained, RESTful, searchable, multi-format NoSQL document store.\n- [mycouch](https://github.com/hamidb80/mycouch) - Multisync CouchDB driver for Nim.\n- [nimongo](https://github.com/SSPkrolik/nimongo) - Pure Nim lang MongoDB driver.\n- [redis](https://github.com/nim-lang/redis) - Official redis wrapper for Nim.\n- [KoutenDB](https://github.com/puffball1567/koutendb) - Locality-aware NoSQL document/vector database built around rings and orbit-inspired retrieval.\n- [rocksdb](https://github.com/status-im/nim-rocksdb) - Nim wrapper for RocksDB, a persistent key-value store for flash and RAM Storage.\n- [sqlcipher](https://github.com/status-im/nim-sqlcipher) - SQLCipher wrapper.\n- [SQLiteral](https://github.com/olliNiinivaara/SQLiteral) - A high level SQLite API for Nim.\n- [surrealdb.nim](https://github.com/Xkonti/surrealdb.nim) - SurrealDB driver for Nim.\n- [tiny_sqlite](https://github.com/GULPF/tiny_sqlite) - Very lightweight and safe SQLite library.\n\n\n#### ORM\n\n- [ormin](https://github.com/Araq/ormin) - Prepared SQL statement generator , A lightweight ORM.\n- [allographer](https://github.com/itsumura-h/nim-allographer) - A query_builder/ORM library inspired by Laravel/PHP and Orator/Python for Nim.\n- [gatabase](https://github.com/juancarlospaco/nim-gatabase) - Connection-Pooling Compile-Time ORM for Nim.\n- [norm](https://github.com/moigagoo/norm) - Norm is an object-oriented, framework-agnostic ORM for Nim that supports SQLite and PostgreSQL.\n\n\n### Data Structures\n\n- [BitVector](https://github.com/MarcAzar/BitVector) - A high-performance Nim implementation of BitVectors.\n- [rbtree](https://github.com/Nycto/RBTreeNim) - A Red/Black tree implementation in Nim.\n- [quadtree](https://github.com/Nycto/QuadtreeNim) - A Quadtree library for Nim.\n- [kdtree](https://github.com/jblindsay/kdtree) - A pure Nim k-d tree implementation for efficient spatial querying of point data.\n- [RTree](https://github.com/StefanSalewski/RTree) - Generic R-tree implementation for Nim.\n- [sorta](https://github.com/narimiran/sorta) - SortedTables in Nim, based on B-trees.\n- [minmaxheap](https://github.com/StefanSalewski/minmaxheap) - A Nim implementation of a Minimum-Maximum heap.\n- [BipBuffer](https://github.com/MarcAzar/BipBuffer) - A Nim implementation of Simon Cooke's Bib Buffer\n- [bloom](https://github.com/boydgreenfield/nimrod-bloom) - Bloom filter implementation in Nim.\n- [binaryheap](https://github.com/bluenote10/nim-heap) - Simple binary heap implementation in Nim.\n- [faststack](https://github.com/Vladar4/FastStack) - Dynamically resizable data structure for fast iteration over large arrays of similar elements.\n- [StashTable](https://github.com/olliNiinivaara/StashTable) - Concurrent hash tables for Nim.\n\n\n### Data Processing\n\n- [NimData](https://github.com/bluenote10/NimData) - DataFrame API written in Nim, enabling fast out-of-core data processing.\n- [Datamancer](https://github.com/SciNim/Datamancer) - A dataframe library with a dplyr like API.\n- [nimdataframe](https://github.com/qqtop/nimdataframe) - Dataframe for Nim.\n- [nimhdf5](https://github.com/Vindaar/nimhdf5) - Wrapper and some simple high-level bindings for the HDF5 library for Nim.\n- [mpfit](https://github.com/Vindaar/nim-mpfit) - A wrapper for the cMPFIT library for Nim.\n\n\n### Parsing\n\n- [beautifulparser](https://github.com/TelegramXPlus/beautifulparser) - Simple library for parsing HTML documents inspired by beautifulsoup4.\n- [Binarylang](https://github.com/sealmove/binarylang) - Extensible Nim DSL for creating binary parsers/encoders in a symmetric fashion.\n- [iniplus](https://codeberg.org/onbox/iniplus) - Extended INI parser with support for arrays and tables.\n- [Marvdown](https://github.com/openpeeps/marvdown) - A stupid simple Markdown parser.\n- [NimYAML](https://github.com/flyx/NimYAML) - YAML implementation for Nim.\n- [parsetoml](https://github.com/NimParsers/parsetoml) - A Nim library to parse TOML files.\n\n\n### Serialization\n\n- [bingo](https://github.com/planetis-m/bingo) - Binary serialization framework for Nim.\n- [flatty](https://github.com/treeform/flatty) - Tools and serializer for plain flat binary files.\n- [frosty](https://github.com/disruptek/frosty) - Marshal native Nim objects via streams, sockets.\n- [json-serialization](https://github.com/status-im/nim-json-serialization) - Flexible JSON serialization not relying on run-time type information.\n- [nesm](https://xomachine.gitlab.io/NESM/) - NESM is a tool that generates serialization and deserialization code for a given object.\n- [protobuf-nim](https://github.com/PMunch/protobuf-nim) - Protobuf implementation in pure Nim that leverages the power of the macro system to not depend on any external tools.\n- [protobuf-serialization](https://github.com/status-im/nim-protobuf-serialization) - The nim-protobuf-serialization.\n- [serialization](https://github.com/status-im/nim-serialization) - A modern and extensible serialization framework for Nim.\n- [ssz-serialization](https://github.com/status-im/nim-ssz-serialization) - Nim implementation of Simple Serialize (SSZ) serialization and merkleization.\n- [tnetstring](https://github.com/mahlonsmith/nim-tnetstring) - Parsing and serializing for the TNetstring format.\n- [toml-serialization](https://github.com/status-im/nim-toml-serialization) - Flexible TOML serialization `not` relying on run-time type information.\n\n### Standards\n\n- [isocodes](https://github.com/kraptor/isocodes) - ISO codes for Nim (ISO 3166-1, ISO 3166-2, ISO 3166-3, ISO 15924, ISO 15924, ISO 639-2, ISO 639-5)\n\n## Text\n\n### String Types\n\n- [ssostrings](https://github.com/planetis-m/ssostrings) - Small String Optimized (SSO) string implementation.\n- [cowstrings](https://github.com/planetis-m/cowstrings) - Copy-On-Write string implementation according to nim-lang/RFCs#221.\n\n\n### Translation\n\n- [tinyslation](https://github.com/juancarlospaco/nim-tinyslation) - Text string translation from free online crowdsourced API.\n\n\n### Markdown\n\n- [HastyScribe](https://github.com/h3rald/hastyscribe) - Self-contained markdown compiler generating self-contained HTML documents.\n- [markdown](https://github.com/soasme/nim-markdown) - A beautiful Markdown Parser in the Nim world.\n- [lester](https://github.com/madprops/lester) - Create quick documents out of Markdown, into HTML.\n\n\n## Multimedia\n\n### Audio\n\n- [paramidi](https://github.com/paranim/paramidi) - A Nim library for making MIDI music.\n- [omni](https://github.com/vitreo12/omni) - A DSL for low-level audio programming.\n- [wave](https://github.com/jiro4989/wave) - A tiny WAV sound module.\n- [parasound](https://github.com/paranim/parasound) - A library to provide Nim bindings for miniaudio and dr_wav.\n- [jacket](https://github.com/SpotlightKid/jacket) - A Nim wrapper for the libjack C library to write clients for the JACK audio server.\n\n\n### Images\n\n- [pixie](https://github.com/treeform/pixie) - A full-featured 2D graphics library for Nim.\n- [nimpng](https://github.com/jangko/nimPNG) - PNG (Portable Network Graphics) decoder and encoder written in Nim.\n- [nimbmp](https://github.com/jangko/nimBMP) - BMP decoder and encoder written in Nim.\n- [nimsvg](https://github.com/bluenote10/NimSvg) - A Nim-based DSL allowing generation of SVG files and GIF animations.\n- [pnm](https://github.com/jiro4989/pnm) - Library for PNM (Portable Anymap) in Nim.\n\n\n### Documents\n\n- [nimpdf](https://github.com/jangko/nimpdf) - PDF document writer, written in Nim.\n\n\n## Algorithms\n\n### Math\n\n#### Symbolic\n\n- [symbolicnim](https://github.com/HugoGranstrom/symbolicnim) - A symbolic library written purely in Nim.\n\n\n#### FFT\n\n- [impulse](https://github.com/SciNim/impulse) - Impulse will be a collection of primitives for signal processing (FFT, Convolutions).\n\n\n#### Vector\n\n- [vectorize](https://github.com/SciNim/vectorize) - SIMD vectorization backend.\n- [vmath](https://github.com/treeform/vmath) - Math vector library for graphical things.\n\n\n#### Matrix\n\n- [neo](https://github.com/unicredit/neo) - A matrix library.\n- [manu](https://github.com/planetis-m/manu) - Nim MAtrix NUmeric package - a port of JAMA, adapted to Nim.\n- [nlopt](https://github.com/Vindaar/nimnlopt) - A wrapper for the nonlinear optimization library Nlopt.\n\n\n### Deep Learning\n\n- [Arraymancer](https://github.com/mratsim/Arraymancer) - A fast, ergonomic and portable tensor library in Nim with a deep learning focus for CPU, GPU, OpenCL and embedded devices.\n- [NimTorch](https://github.com/sinkingsugar/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.\n- [laser](https://github.com/numforge/laser) - Carefully-tuned primitives for running tensor and image-processing code on CPU, GPUs and accelerators.\n\u003c!-- - [flambeau](https://github.com/SciNim/flambeau) - Nim bindings to libtorch. --\u003e\n\n\n### Bigints\n\n- [bigints](https://github.com/nim-lang/bigints) - Bigints for Nim.\n- [stint](https://github.com/status-im/nim-stint) - Stack-based arbitrary-precision integers. Fast and portable with natural syntax for resource-restricted devices.\n- [theo](https://github.com/SciNim/theo) - An optimized bigint and number theory library for Nim.\n\n\n### Cryptography\n\n- [bcryptrocks](https://codeberg.org/penguinite/bcryptrocks) -  Nim wrapper of Solar Designer's `crypt_blowfish` library\n- [bncurve](https://github.com/status-im/nim-bncurve) - Nim implementation of Barreto-Naehrig pairing-friendly elliptic curve.\n- [bslcurve](https://github.com/status-im/nim-blscurve) - Nim implementation of BLS signature scheme (Boneh-Lynn-Shacham) over Barreto-Lynn-Scott (BLS) curve BLS12-381.\n- [constantine](https://github.com/mratsim/constantine) - Constant time pairing-based of elliptic curve based cryptography and digital signatures.\n- [crc32](https://github.com/juancarlospaco/nim-crc32) - CRC32 for Nim. Just pass the thing you want to do CRC.\n- [des](https://github.com/LucaWolf/des.nim) - DES/3DES, DUKPT and MAC in Nim.\n- [hashlib](https://github.com/khchen/hashlib) - Hash library that contains almost all the hash functions for Nim.\n- [murmurhash](https://github.com/cwpearson/nim-murmurhash) - Pure Nim implementation of MurmerHash\n- [nimaes](https://github.com/jangko/nimAES) - Advanced Encryption Standard, Rinjdael Algorithm written in Nim.\n- [nimcrypto](https://github.com/cheatfate/nimcrypto) - Nim cryptographic library.\n- [NiMPC](https://github.com/markspanbroek/nimpc) - A secure multi-party computation (MPC) library for the Nim programming language.\n- [rollinghash](https://github.com/MarcAzar/RollingHash) - High performance Nim implementation of a Cyclic Polynomial Hash, aka BuzHash, and the Rabin-Karp algorithm.\n- [shimsham](https://github.com/apense/shimsham) - A collection of hash functions, including JH, SHA-2, SHA-3, SipHash, Tiger, and Whirlpool.\n- [xxhash.nim](https://github.com/OpenSystemsLab/xxhash.nim) - A wrapper for the xxhash hashing library in Nim.\n- [xxtea](https://github.com/xxtea/xxtea-nim) - XXTEA encryption algorithm library.\n\n\n### Blockchain\n\n- [eth](https://github.com/status-im/nim-eth) - Common utilities for Ethereum.\n- [nimbus-eth1](https://github.com/status-im/nimbus-eth1) - An Ethereum 1.0 and 2.0 client for resource-restricted devices.\n- [nimbus-eth2](https://github.com/status-im/nimbus-eth2) - Efficient implementation of the Ethereum 2.0 blockchain.\n- [evmc](https://github.com/status-im/nim-evmc) - Ethereum VM binary compatible interface.\n- [ethash](https://github.com/status-im/nim-ethash) - A pure-Nim implementation of Ethash, the Ethereum proof of work.\n- [contract-abi](https://github.com/status-im/nim-contract-abi) - Implements encoding of parameters according to the Ethereum Contract ABI specification.\n\u003c!-- - [web3](https://github.com/status-im/nim-web3) - The humble beginnings of a Nim library similar to web3.[js|py]. --\u003e\n\u003c!-- - [abc](https://github.com/status-im/nim-abc) - Experimental asynchronous blockchain. --\u003e\n\u003c!-- - [nitro](https://github.com/status-im/nim-nitro) - Highly experimental implementation of the Nitro statechannels protocol in Nim. --\u003e\n\n\n### Compression\n\n- [zippy](https://github.com/guzba/zippy) - Pure Nim implementation of deflate, zlib, gzip and zip.\n- [supersnappy](https://github.com/guzba/supersnappy) - Dependency-free and performant Nim Snappy implementation.\n- [snappy](https://github.com/status-im/nim-snappy) - Nim implementation of Snappy compression algorithm.\n- [zip](https://github.com/nim-lang/zip) - Wrapper for the zip library.\n\n\n## User Interface\n\n### Terminal\n\n- [illwill](https://github.com/johnnovak/illwill) - Simple cross-platform terminal library inspired by (n)curses.\n- [niffler](https://github.com/gokr/niffler) - Command line AI assistant written in Nim.\n- [Nimmm](https://github.com/joachimschmidt557/nimmm) - A terminal file manager for Linux.\n- [pager](https://git.sr.ht/~reesmichael1/nim-pager) - A simple command line pager library, written in Nim.\n- [pnimrp](https://github.com/bloomingchad/pnimrp) - Stream your favorite radio stations at the comfort of your terminal.\n- [prettyterm](https://github.com/CodeLibraty/prettyterm) - Library for creating beautiful terminal interfaces in Nim.\n- [jn](https://github.com/joereynolds/jn) - A CLI note taker and task manager.\n\n\n### Design\n\n- [chroma](https://github.com/treeform/chroma) - Everything you want to do with colors, in Nim.\n- [typography](https://github.com/treeform/typography) - Fonts, typesetting and rasterization.\n- [trick](https://github.com/exelotl/trick) - Library for GBA/NDS image conversion, and more!\n- [HexToAnsi](https://github.com/farias-hecdin/HexToAnsi/blob/main/src/nim/README.md) - Convert hexadecimal colors to ANSI colors.\n\n\n### GUI\n\n#### Crossplatform\n\n- [nimx](https://github.com/yglukhov/nimx) - Desktop, Mobile \u0026 Web GUI framework in Nim.\n- [NiGui](https://github.com/trustable-code/NiGui) - A cross-platform, desktop GUI toolkit.\n- [ui](https://github.com/nim-lang/ui) - Wrapper for libui. Beginnings of what might become Nim's official UI library.\n- [uing](https://github.com/neroist/uing) - Wrapper \u0026 bindings for libui-ng, an updated and maintained fork of libui.\n- [iup](https://github.com/nim-lang/iup) - Wrapper for IUP. Beginnings of what might become Nim's official UI library.\n- [SDL2](https://github.com/nim-lang/sdl2) - Official wrapper for SDL 2.x.\n- [SDL2](https://github.com/Vladar4/sdl2_nim) - A wrapper for SDL 2.\n- [Owlkettle](https://github.com/can-lehmann/owlkettle) - Declarative user interface framework based on GTK.\n- [libtray](https://github.com/neroist/libtray) - Nim wrapper for Tray (dmikushin's fork), a library to create system tray/menu bar icon with a popup menu.\n\n\n#### Windows\n\n- [wNim](https://github.com/khchen/wNim) - Nim's Windows GUI Framework.\n\n\n#### Linux\n\n- [gintro](https://github.com/StefanSalewski/gintro) - High-level GObject-Introspection based GTK3/GTK4 bindings for Nim.\n- [nimqml](https://github.com/filcuc/nimqml) - Qt QML bindings for the Nim programming language.\n\n\n#### Web Technology\n\n- [Neel](https://github.com/Niminem/Neel) - A library for making Electron-like HTML/JS GUI apps.\n- [nimview](https://github.com/marcomq/nimview) - A Nim/Webview based helper to create desktop/server applications with Nim and HTML/CSS.\n- [webgui](https://github.com/juancarlospaco/webgui) - Web technologies based cross-platform GUI Framework with a dark theme.\n- [fidget2](https://github.com/treeform/fidget2) - Library for natively compiled cross platform UIs - Web with HTML5 (WASM), Windows, macOS, Linux with OpenGL.\n- [webview](https://github.com/neroist/webview) - Nim bindings and wrapper for Webview.\n- [webui](https://github.com/webui-dev/nim-webui) - Nim bindings and wrapper for WebUI.\n\n\n#### Lightweight\n\n- [imgui](https://github.com/nimgl/imgui) - ImGui bindings for Nim via cimgui.\n- [koi](https://github.com/johnnovak/koi) - Immediate mode UI for Nim.\n- [nimAntTweakBar](https://github.com/krux02/nimAntTweakBar) - Wrapper for AntTweakBar.\n\n\n### Plotting\n\n- [ggplotnim](https://github.com/Vindaar/ggplotnim) - A port of ggplot2 for Nim.\n- [plotly](https://github.com/SciNim/nim-plotly) - A plotly wrapper for Nim.\n- [graph](https://github.com/stisa/graph) - A basic plotting library in Nim.\n- [nimetry](https://github.com/refaqtor/nimetry) - Simple plotting in pure Nim.\n- [nimgraphviz](https://github.com/Aveheuzed/nimgraphviz) - A Nim library for making graphs with GraphViz and DOT.\n- [nimgnuplot](https://github.com/nervecenter/nimgnuplot) - A simple gnuplot interface for Nim, compatible with Datamancer dataframes.\n\n## Mobile\n\n- [react-native-nim](https://github.com/siddarthkay/react-native-nim) - A react-native template which demonstrates nim interop with iOS/Android mobile client from react-native.\n\n## Web\n\n### Protocols\n\n- [http-utils](https://github.com/status-im/nim-http-utils) - HTTP helper procedures.\n- [puppy](https://github.com/treeform/puppy) - Puppy fetches HTML pages for Nim.\n- [netty](https://github.com/treeform/netty) - Reliable UDP connection library for games in Nim.\n- [json-rpc](https://github.com/status-im/nim-json-rpc) - Nim library for implementing JSON-RPC clients and servers.\n- [nmqtt](https://github.com/zevv/nmqtt) - Native Nim MQTT client library.\n- [libp2p](https://github.com/status-im/nim-libp2p) - A Nim implementation of the libp2p networking stack.\n- [libp2p-dht](https://github.com/status-im/nim-libp2p-dht) - DHT based on the libp2p kademlia spec.\n- [webdavclient](https://github.com/beshrkayali/webdavclient) - WebDAV client for Nim.\n- [stomp](https://github.com/subsetpark/nim-stomp) - A pure-Nim client library for interacting with Stomp compliant message brokers.\n- [presto](https://github.com/status-im/nim-presto) - An efficient REST API framework.\n- [gemini](https://github.com/benob/gemini) - Building blocks for creating Gemini servers and clients.\n- [yahttp](https://github.com/mishankov/yahttp) - Awesome simple HTTP client.\n\n\n#### DNS\n\n- [ndns](https://github.com/rockcavera/nim-ndns) - A pure Nim Domain Name System (DNS) client.\n- [dnsprotocol](https://github.com/rockcavera/nim-dnsprotocol) - Domain Name System (DNS) protocol for Nim programming language.\n\n\n#### QUIC\n\n- [quic](https://github.com/status-im/nim-quic) - QUIC for Nim. This is very much a work in progress, and not yet in a usable state.\n- [ngtcp2](https://github.com/status-im/nim-ngtcp2) - A wrapper around ngtcp2: an effort to implement IETF QUIC protocol.\n\n\n#### Websockets\n\n- [ws](https://github.com/treeform/ws) - Simple WebSocket library for Nim.\n- [websocket.nim](https://github.com/niv/websocket.nim) - WebSockets for Nim.\n- [news](https://github.com/Tormund/news) - Nim Easy WebSocket. Based on ws.\n- [jswebsockets](https://juancarlospaco.github.io/nodejs/nodejs/jswebsockets) - WebSockets optimized for JavaScript targets.\n- [websock](https://github.com/status-im/nim-websock) - An implementation of the WebSocket protocol for Nim.\n\n\n#### Messaging\n\n- [telebot.nim](https://github.com/ba0f3/telebot.nim) - Async client for Telegram Bot API in pure Nim.\n- [dimscord](https://github.com/krisppurg/dimscord) - A Discord Bot \u0026 REST Library for Nim.\n- [nwaku](https://github.com/status-im/nwaku) - Implementation of the Waku v1 and v2 protocols.\n- [status](https://github.com/status-im/nim-status) - Nim implementation of the Status protocol.\n\n\n#### Multicast\n\n- [nimMulticast](https://github.com/enthus1ast/nimMulticast) - UDP Multicast made simple.\n\n\n### HTML Parsers\n\n- [Nimquery](https://github.com/GULPF/nimquery) - Library for querying HTML using CSS selectors, like JavaScript's `document.querySelector`.\n\n\n### HTTP Servers\n\n- [httpbeast](https://github.com/dom96/httpbeast) - A highly performant, multi-threaded HTTP 1.1 server ([top 10 in FrameworkBenchmarks](https://www.techempower.com/benchmarks/#section=data-r18\u0026test=json)).\n- [httpx](https://github.com/ringabout/httpx) - Cross platform web server for Nim. A fork of httpbeast adding Windows support.\n- [GuildenStern](https://github.com/olliNiinivaara/GuildenStern) - Genuinely multithreading integrated HTTP/1.1 + WebSocket v13 Server for POSIX-compliant OSes.\n- [Mummy](https://github.com/guzba/mummy) - A multi-threaded HTTP 1.1 server with first-class support for WebSockets.\n- [netkit](https://github.com/iocrate/netkit) - Out-of-the-box, stable and secure network facilities and utilities written in pure Nim.\n- [jshttp2](https://juancarlospaco.github.io/nodejs/nodejs/jshttp2) - Async HTTPS 2.0 web server.\n\n### Gemini Servers\n\n- [Geminim](https://github.com/ardek66/geminim) - A Gemini server.\n- [Nemini](https://codeberg.org/pswilde/Nemini) - A very simple Gemini server for serving static gemtext files.\n\n### Frameworks\n\n- [basolato](https://github.com/itsumura-h/nim-basolato) - A fullstack web framework for Nim based on Jester.\n- [happyx](https://github.com/HapticX/happyx) - A macro-oriented full stack asynchronous web framework written in Nim.\n- [Jazzy](https://github.com/canermastan/jazzy-framework) - The Productive Framework. Developer-friendly, lightning fast, and designed for rapid development.\n- [Jester](https://github.com/dom96/jester) - The sinatra-like web framework for Nim. Jester provides a DSL for quickly creating web applications in Nim.\n- [karax](https://github.com/karaxnim/karax) - A framework for developing single page applications in Nim.\n- [nim_websitecreator](https://github.com/ThomasTJdev/nim_websitecreator) - Nim fullstack website framework - deploy a website within minutes.\n- [nim-palladian](https://github.com/itsumura-h/nim-palladian) - Palladian is a Nim front-end framework based on and wrapped around Preact.\n- [prologue](https://github.com/planety/prologue) - A fullstack web framework written in Nim.\n- [rosencrantz](https://github.com/andreaferretti/rosencrantz) - DSL to write web servers, inspired by Spray and its successor Akka HTTP.\n- [scorper](https://github.com/bung87/scorper) - A micro and elegant web framework written in Nim.\n- [starlight](https://github.com/planety/starlight) - Flask-like web framework written in Nim.\n- [Supranim](https://github.com/supranim/supranim) - A simple web framework for creating REST APIs and beautiful web apps. Model View Controller structure and other cool things.\n- [whip](https://github.com/mattaylor/whip) - Simple and fast HTTP server for Nim based on httpbeast and nest for high performance routing.\n\n### Template Engines\n\n- [html-dsl](https://github.com/juancarlospaco/nim-html-dsl) - Nim HTML DSL.\n- [mustache](https://github.com/soasme/nim-mustache) - A full implementation of v1.2.1 of the Mustache spec.\n- [nimja](https://github.com/enthus1ast/nimja) - Typed and compiled template engine inspired by jinja2, twig and onionhammer/nim-templates for Nim.\n- [Nim Source Code filters](https://nim-lang.org/docs/filters.html) - Nim's powerful built-in feature which can be used as a templating system or a preprocessor.\n- [smalte](https://github.com/roquie/smalte) - It is a dead simple and lightweight template engine. Specially designed for configure application before start in Docker.\n- [templates](https://github.com/onionhammer/nim-templates) - A simple string templating library for Nim.\n- [temple](https://codeberg.org/onbox/temple) - Simple run-time templating library for Nim.\n- [Tim](https://github.com/openpeeps/tim) - A high-performance template engine \u0026 markup language.\n\n\n### Authentication\n\n- [oauth](https://github.com/CORDEA/oauth) - OAuth library for Nim.\n\n\n## Game Development\n\n### Game Libraries\n\n- [nimgl](https://github.com/nimgl/nimgl) - NimGL is a Nim library that offers bindings for popular libraries used in computer graphics.\n- [glm](https://github.com/stavenko/nim-glm) - Port of the popular glm C++ library to Nim.\n- [GLAD](https://github.com/Dav1dde/glad) - Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs.\n- [enu](https://github.com/dsrw/enu) - 3D live coding with a Logo-like DSL for Godot, implemented in Nim.\n\n\n### Game Frameworks\n\n- [nico](https://github.com/ftsf/nico) - Nim Game Framework based on Pico-8.\n- [natu](https://github.com/exelotl/natu) - Toolkit for writing Game Boy Advance games in Nim.\n- [naylib](https://github.com/planetis-m/naylib) - safe Raylib wrapper.\n- [c4](https://github.com/c0ntribut0r/cat-400) - Modular and extensible 2D and 3D game framework for Nim.\n- [paranim](https://github.com/paranim/paranim) - A game library based around carefully chosen abstractions.\n\n\n### Game Engines\n\n- [NimForUE](https://github.com/jmgomez/NimForUE) - Nim plugin for UE5 with native performance, hot reloading and full interop that sits between C++ and Blueprints.\n- [nimgame2](https://github.com/Vladar4/nimgame2) - A simple 2D game engine for Nim.\n- [norx](https://github.com/tankfeud/norx) - A complete wrapper of the ORX 2.5D cross platform game engine library.\n- [godot-nim](https://github.com/pragmagic/godot-nim) - Nim bindings for Godot Engine.\n- [rod](https://github.com/yglukhov/rod) - Cross-platform 2D and 3D game engine.\n- [frag](https://github.com/Tail-Wag-Games/frag) - Cross-platform 2D/3D game engine.\n- [semicongine](https://github.com/saemideluxe/semicongine) - Cross-platform, (almost) dependency-free game engine.\n- [saohime](https://github.com/glassesneo/saohime) - An extensible 2D game engine for Nim, inspired by Bevy Engine.\n- [alasgar](https://github.com/abisxir/alasgar) - Pure nim 3D game engine based on OpenGL.\n\n\n### Rules Engines\n\n- [turn_based_game](https://github.com/JohnAD/turn_based_game) - A game rules engine for simulating or playing turn-based games.\n- [pararules](https://github.com/paranim/pararules) - A RETE-based rules engine made for games.\n\n\n## Development Tools\n\n\n### Editor Integration\n\n- [Editor Support](https://github.com/nim-lang/Nim/wiki/editor-support) - Official list of editor plugins for Nim.\n- [nimlsp](https://github.com/PMunch/nimlsp) - The Language Server Protocol implementation for Nim.\n- [nim.nvim](https://github.com/alaviss/nim.nvim) - Nim plugin for NeoVim.\n- [vscode-nim](https://github.com/saem/vscode-nim) - Language support for the Nim programming language for VS Code.\n\n\n### REPL\n\n- [INim](https://github.com/AndreiRegiani/INim) - Interactive Nim Shell.\n- [jupyternim](https://github.com/stisa/jupyternim) - A Jupyter kernel for Nim.\n- [Reploid](https://github.com/RowDaBoat/reploid) - A Nim REPL running on top of a `nim c` or a `nimscript` VM, `import [anything]`.\n\n\n### Binding Generators\n\n- [c2nim](https://github.com/nim-lang/c2nim) - c2nim is a tool to translate Ansi C code to Nim.\n- [nimgen](https://github.com/genotrance/nimgen) - nimgen is a helper for c2nim to simplify and automate the wrapping of C libraries. Superseded by nimterop.\n- [nimterop](https://github.com/nimterop/nimterop) - A Nim package that leverages tree-sitter to make C/C++ interop seamless. Superseded by Futhark.\n- [Futhark](https://github.com/PMunch/futhark) - Automatic wrapping of C headers in Nim with libclang.\n- [nimpy](https://github.com/yglukhov/nimpy) - Generate Python wrappers and call Python from Nim.\n- [jnim](https://github.com/yglukhov/jnim) - Nim - Java bridge.\n\u003c!-- - [rnim](https://github.com/SciNim/rnim) - A bridge between R and Nim. Currently this is a barely working prototype. --\u003e\n\n\n### Build Systems / Package Management\n\n- [Atlas](https://github.com/nim-lang/atlas) - The Atlas Package cloner. It manages an isolated workspace that contains projects and dependencies.\n- [ChooseNim](https://github.com/nim-lang/choosenim) - Installing and switching between Nim versions (à la rustup, pyenv).\n- [GrabNim](https://codeberg.org/janAkali/grabnim) - Install and switch between multiple Nim compiler versions. (Alternative to ChooseNim).\n- [Nake](https://github.com/fowlmouth/nake) - Describe your Nim builds as tasks.\n- [Nawabs](https://github.com/Araq/nawabs) - A build system that throws away version numbering in favor of git hashes.\n- [Nimble](https://github.com/nim-lang/nimble) - Nimble can be used as a build system.\n- [nimph](https://github.com/disruptek/nimph) - Nim package hierarchy manager from the future.\n- [nimby](https://github.com/treeform/nimby) - A very simple and unofficial package manager for Nim.\n- [nifty](https://github.com/h3rald/nifty) - A decentralized pseudo package manager and script runner.\n- [nsis](https://github.com/nim-libs/nsis) - Nim programming language setup tool.\n\n\n### Logging\n\n- [chronicles](https://github.com/status-im/nim-chronicles) - A crafty implementation of structured logging for Nim.\n- [kslog](https://github.com/c-blake/kslog) - Minimalistic Kernel-Syslogd For Linux in Nim.\n- [threadlogging](https://codeberg.org/pswilde/threadlogging) - A thread safe logging library using Nim's own logging module.\n\n\n### Testing\n\n- [faker](https://github.com/jiro4989/faker) - A Nim package that generates fake data for you.\n- [balls](https://github.com/disruptek/balls) - A unittest macro to save the world, or at least your Sunday.\n- [einheit](https://github.com/jyapayne/einheit) - A Nim unit testing library inspired by Python's unit tests.\n- [asynctest](https://github.com/status-im/asynctest) - Complements the standard unittest module in Nim to allow testing of asynchronous code.\n- [unittest2](https://github.com/status-im/nim-unittest2) - Fork of the \"unittest\" Nim module focusing on parallel test execution, test-level scoping and strict exception handling.\n\n\n### Fuzzing\n\n- [drchaos](https://github.com/status-im/nim-drchaos) - A powerful and easy-to-use fuzzing framework in Nim for C/C++/Obj-C targets.\n- [libfuzzer](https://github.com/planetis-m/libfuzzer) - LibFuzzer's interface bindings.\n\n\n### Benchmarking\n\n- [benchy](https://github.com/treeform/benchy) - Simple benchmarking to time your code.\n- [golden](https://github.com/disruptek/golden) - A benchmark for compile-time and/or runtime Nim.\n- [timeit](https://github.com/xflywind/timeit) - Measuring execution times written by Nim.\n- [criterion](https://github.com/disruptek/criterion) - Statistic-driven micro-benchmark framework.\n- [stopwatch](https://gitlab.com/define-private-public/stopwatch) - A fork of rbmz's stopwatch that adds extra features.\n- [nimbench](https://github.com/ivankoster/nimbench) - A micro benchmark module for Nim.\n\n\n### Command-Line Interface Automation\n\n- [cligen](https://github.com/c-blake/cligen) - Infer \u0026 generate command-line interace/option/argument parsers.\n- [docopt.nim](https://github.com/docopt/docopt.nim) - Command-line args parser.\n- [argparse](https://github.com/iffy/nim-argparse) - Argument parsing for Nim.\n- [clapfn](https://github.com/oliversandli/clapfn) - Argument parsing similar to Python's argparse.\n- [cliche](https://github.com/juancarlospaco/cliche) - AutoMagic CLI argument parsing is so cliché.\n- [loki](https://github.com/beshrkayali/loki) - A small library for writing line-oriented command interpreters in Nim.\n- [confutils](https://github.com/status-im/nim-confutils) - Simplified handling of command line options and config files\n- [Cmdos](https://github.com/farias-hecdin/Cmdos) - A simple way to process cli arguments and help messages.\n- [cozycliparser](https://github.com/indiscipline/cozycliparser) - Lean, feature-rich, DSL-free CLI parser based on `std/parseopt`. [Docs](https://indiscipline.github.io/cozycliparser/).\n- [Cliquet](https://github.com/RowDaBoat/cliquet) - A CLI args and config file parser merging both into a single object, with automatic help generation.\n\n### Static Analysis\n\n- [DrNim](https://nim-lang.org/docs/drnim.html) - Combines the Nim frontend with the Z3 proof engine, in order to allow verify/validate software.\n- [nimalyzer](https://github.com/thindil/nimalyzer) - Static code analyzer for Nim, inspired by AdaControl.\n\n## Resources\n\n### Books\n\n- [Nim in Action](https://book.picheta.me/) - Book in Manning's \"in Action\" series, teaching Nim through 3 practical projects including CLI chat apps, web apps and parsers.\n- [Computer Programming with Nim](https://www.nimprogrammingbook.com/book/nimprogramming_colorful.pdf) - A gentle introduction to the Nim programming language.\n- [Nim Basics](https://narimiran.github.io/nim-basics/) - Tutorial for beginners and people just starting with Nim.\n- [Nim Style Guide](https://status-im.github.io/nim-style-guide/) - Status style guide for the Nim language.\n- [Mastering Nim](https://www.amazon.com/Mastering-Nim-complete-programming-language/dp/B0B4R7B9YX) - A complete guide to the programming language.\n\n\n### Blogs\n\n- [Nim Blog](http://nim-lang.org/blog.html) - Official Nim blog.\n- [Goran Krampe](http://goran.krampe.se/nim/) - Wrapping C, Arduino, performance, links.\n- [HookRace](https://hookrace.net/blog/nim/) - Blog with multiple articles on Nim.\n- [Rants from the Ballmer Peak](https://gradha.github.io/tags/nim.html) - Posts on Nim and other languages.\n- [Yuriy Glukhov's blog](https://yglukhov.github.io/) - Making and shipping a game in Nim.\n- [Araq's Musings](https://nim-lang.org/araq) - Blog on Nim from the creator himself.\n- [Nim on dev.to](https://dev.to/t/nim) - Nim blogs on `dev.to`.\n\n\n### Community\n\n- [The Nim forum](http://forum.nim-lang.org/)\n- [The Nim IRC channel](http://webchat.freenode.net/?channels=nim)\n- [The Nim Gitter channel](https://gitter.im/nim-lang/Nim)\n- [The Nim Discord channel](https://discord.gg/ptW3Rb3)\n- [The Nim mailing list (forum archive)](https://www.mail-archive.com/nim-general@lists.nim-lang.org/)\n- [The Nim subreddit](http://reddit.com/r/nim)\n- [The Nim Telegram](https://t.me/nim_lang)\n- [The Nim Telegram in Spanish](https://t.me/NimArgentina)\n- [The Nim Matrix room](https://matrix.to/#/#nim-lang:matrix.org)\n\n\n### Tutorials\n\n- [Nim Days](https://xmonader.github.io/nimdays/) - 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.\n- [How I start](https://howistart.org/posts/nim) - Great guide going from 0 to a bf interpreter and then a bf to Nim compiler.\n- [Learn Nim in Y minutes](https://learnxinyminutes.com/docs/nim/) - Whirlwind tour.\n- [Nim by Example](https://nim-by-example.github.io) - Series of pages and examples for learning the Nim programming language.\n- [Nim for Python programmers](https://github.com/nim-lang/Nim/wiki/Nim-for-Python-Programmers) - Guide to Nim for people with experience in Python.\n- [Nim on Rosetta Code](https://rosettacode.org/wiki/Category:Nim) - Thousands of solutions for various tasks using Nim.\n- [Nim Memory](http://zevv.nl/nim-memory/) - A small tutorial explaining how Nim stores data in memory.\n- [Nim ARC](http://zevv.nl/nim-memory/nim-arc.html) - A friendly explanation of ARC and its implications for the programmer.\n- [nimNx](https://github.com/dkgitdev/nimNx) - A Nintendo Switch Homebrew example project, written in Nim.\n- [nimNxStatic](https://github.com/dkgitdev/nimNxStatic) - A static library example aiming to help integrate Nim code into the current Homebrew C projects for Nintendo Switch\n\n\n### Videos\n\n- [Nim's Official Channel](https://www.youtube.com/channel/UCDAYn_VFt0VisL5-1a5Dk7Q/videos) - Official videos introduce the powerful and interesting part in Nim language.\n- [Nim for Beginners](https://www.youtube.com/user/kiloneie/playlists) - This is a video series meant to teach people programming in Nim to people who have never programmed before, or are new to Nim.\n- [Make a website with Nim](https://www.youtube.com/watch?v=ndzlVRWqT2E\u0026list=PL6RpFCvmb5SGw7aJK1E4goBxpMK3NvkON) - This is a video series meant to teach people make a website with Nim using `jester`.\n- [Learning Nim](https://www.youtube.com/watch?v=I_Y94G37iR4\u0026list=PLu-ydI-PCl0PqxiYXQMmLh7wjQKm5Cz-H) - Tutorial video series on learning Nim showcasing various features of the language and its libraries.\n- [araq twitch](https://www.twitch.tv/araq4k) - The live broadcast regarding Nim language.\n- [alehander42 twitch](https://www.twitch.tv/alehander42) - The live broadcast regarding Nim language.\n- [clyybber twitch](https://www.twitch.tv/clyybber) - The live broadcast regarding Nim language.\n- [d0m96 twitch](https://www.twitch.tv/d0m96) - The live broadcast regarding Nim language.\n- [disruptek twitch](https://www.twitch.tv/disruptek) - The live broadcast regarding Nim language.\n- [Nim Tutorials](https://www.youtube.com/playlist?list=PLYBJzqz8zpWaiGbFcSdlh08zlpe8Tl_Gh) - YouTube video series that teaches how to program in Nim and goes over various standared libraries.\n\n\n---\n\n### Footnotes\n*Awesome-Nim logo is based on the \"Nim Crown\" logo by Joseph Wecker, used with permission from the Nim project.*\n","projects_url":"https://awesome.ecosyste.ms/api/v1/lists/ringabout%2Fawesome-nim/projects"}