Files
awesome-awesomeness/terminal/nim2
2024-04-20 19:22:54 +02:00

28 KiB

DEPRECATED - Use Curated Packages (https://github.com/nim-lang/Nim/wiki/Curated-Packages) instead.
 
Awesome Nim !Awesome (https://awesome.re/badge.svg) (https://awesome.re)
 
A curated list of awesome Nim (https://nim-lang.org) frameworks, libraries and software. Inspired by other awesome lists (https://github.com/bayandin/awesome-awesomeness).
 
Contents
 
 

 
- Async Processing (#async-processing)
- Build Systems/Package Management (#build-systemspackage-management)
- Byte Size (#byte-size)
- CheckSums (#checksums)
- Database (#database)
- Date Time (#date-time)
- Deep Learning (#deep-learning)
- Design (#design)
- Embedded (#embedded)
- Game Development (#game-development)
- GUI (#gui)
- IDE (#ide)
- Implementations (#implementations)
- Macros (#macros)
- Package Repositories (#package-repositories)
- REPL (#repl)
- Scripting (#scripting)
- Services (#services)
- Text Processing (#text-processing)
- **Translation** (#translation)
- **Template Engines** (#template-engines)
- Web (#web)
- **Web Frameworks** (#web-frameworks)
- **Parsing HTML** (#parsing-html)
- **Generating HTML** (#generating-html)
- Development Tools (#development-tools)
- **Binding Generators** (#binding-generators)
- **Command-Line Interface Automation** (#command-line-interface-automation)
- Resources (#resources)
- **Books** (#books)
- **Blogs** (#blogs)
- **Community** (#community)
- **Websites** (#websites)
- Contributing (#contributing)
 
 
 
Async processing
Nim-Asyncdispatch2 (https://github.com/status-im/nim-asyncdispatch2) - Hard fork of Asyncdispatch. MIT
 
⇑ (#contents "Go to the top")
 
Build Systems/Package Management
 
ChooseNim (https://github.com/dom96/choosenim) - Installing and switching between Nim versions (à la rustup, pyenv). MIT
Nake (https://github.com/fowlmouth/nake) - Describe your Nim builds as tasks. MIT
Nawabs (https://github.com/Araq/nawabs) - A build system that throws away version numbering in favor of git hashes. MIT
Nimble (https://github.com/nim-lang/nimble) - Nimble can be used as a build system. BSD
 
⇑ (#contents "Go to the top")
 
Byte Size
 
nim-bytes2human (https://github.com/juancarlospaco/nim-bytes2human#nim-bytes2human) - Calculate all Byte units from an integer, with precision from Bytes to Yottabytes, and return a human friendly string
representation. LGPL
 
⇑ (#contents "Go to the top")
 
Checksums
 
nim-crc32 (https://github.com/juancarlospaco/nim-crc32#nim-crc32) - CRC32 for Nim, 2 proc, just pass the thing you want to do CRC. MIT
 
⇑ (#contents "Go to the top")
 
Database
 
ormin (https://github.com/Araq/ormin) - Prepared SQL statement generator , A lightweight ORM.
nimongo (https://github.com/SSPkrolik/nimongo) - Pure Nim lang MongoDB driver. http://sspkrolik.github.io/nimongo MIT
 
⇑ (#contents "Go to the top")
 
Date Time
 
nim-datetime2human (https://github.com/juancarlospaco/nim-datetime2human#nim-datetime2human) - Calculate date & time with precision from seconds to millenniums. Human friendly date time as string. ISO-8601.
LGPL
 
⇑ (#contents "Go to the top")
 
Deep Learning
 
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. Apache-2.0
NimTorch (https://gitlab.fragcolor.xyz/fragcolor/nimtorch) - PyTorch - Python + Nim. A Nim front-end to PyTorch's native backend, combining Nim's speed, productivity and portability with PyTorch's latest
implementations. MIT
⇑ (#contents "Go to the top")
 
Design
 
nim-random-font-color (https://github.com/juancarlospaco/nim-random-font-color#nim-random-font-color) - Random curated Fonts, pastel Colors and Seamless CSS3 Patterns for your UI/UX design, design for
non-designers, poors man design. LGPL
 
⇑ (#contents "Go to the top")
 
Embedded
 
msp430f5510 (https://gitlab.com/jalexander8717/msp430f5510-nim) - Run Nim on MSP430f5510 micro-controller (6KB of RAM).
stm32f3 (https://github.com/mwbrown/nim_stm32f3) - Run Nim on STM32F3 micro-controller (16KB of RAM).
ardunimo (https://github.com/gokr/ardunimo) - Nim wrapper for Arduino + LinkIt ONE SDK by Mediatek.
ardunimesp (https://gitlab.com/NetaLabTek/Arduimesp) - Nim wrapper for Arduino ESP8266 framework + A tool for flash, compile and make the nim project into an Arduino project.
 
⇑ (#contents "Go to the top")
 
Game Development
 
frag (https://github.com/fragworks/frag) - Cross-platform 2D|3D game framework for the Nim programming language. MIT
zengine (https://github.com/zacharycarter/zengine) - 2D | 3D Game development library.
SDL2 (https://github.com/Vladar4/sdl2_nim) - Wrapper for SDL 2. MIT
GLAD (https://github.com/Dav1dde/glad) - Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs. MIT
nim-glm (https://github.com/stavenko/nim-glm) - Port of the popular glm C++ library to Nim. MIT
 
⇑ (#contents "Go to the top")
 
GUI
 
ui (https://github.com/nim-lang/iup) - Wrapper for IUP - Beginnings of what might become Nim's official UI library.
nim-kdialog (https://github.com/juancarlospaco/nim-kdialog#nim-kdialog) - Nim Kdialog (https://techbase.kde.org/Development/Tutorials/Shell_Scripting_with_KDE_Dialogs) Qt5 Wrapper for Desktop. LGPL
nimAntTweakBar (https://github.com/krux02/nimAntTweakBar) - Wrapper for AntTweakBar.
nimx (https://github.com/yglukhov/nimx) - Desktop, Mobile & Web GUI framework in Nim.
NiGui (https://github.com/trustable-code/NiGui) - cross-platform, desktop GUI toolkit MIT
 
⇑ (#contents "Go to the top")
 
IDE
 
Aporia (https://github.com/nim-lang/Aporia) - Text editor to get started with Nim easily (not maintained anymore).
Editor Integration (https://github.com/nim-lang/Nim/wiki/editor-support) - Official list of editor plugins for Nim.
Nim Playground (https://play.nim-lang.org/) - Code and run Nim online.
 
⇑ (#contents "Go to the top")
 
Implementations
 
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). MIT website (http://nim-lang.org/)
Nlvm (https://github.com/arnetheduck/nlvm) - LLVM backend for Nim. MIT
 
⇑ (#contents "Go to the top")
 
Macros
 
cascade (https://github.com/citycide/cascade) - Method & assignment cascades for Nim, inspired by Smalltalk & Dart. MIT
gara (https://github.com/alehander42/gara) - Macro-based pattern matching library. MIT
pipe (https://github.com/5paceToast/pipe) - Pipe operator for Nim, as seen in functional languages. MIT
unpack (https://github.com/technicallyagd/unpack) - Sequence/object unpacking/destructuring. MIT
 
⇑ (#contents "Go to the top")
 
Package Repositories
 
Nim packages (https://github.com/nim-lang/packages) - List of packages for Nimble.
Nim package directory (https://nimble.directory/) - This service allows you to explore Nim packages known to Nimble.
It tests package installation and generates documentation using "nim doc".
 
⇑ (#contents "Go to the top")
 
REPL
 
INim (https://github.com/AndreiRegiani/INim) - Interactive Nim Shell. MIT
 
Scripting
 
Nimcr (https://github.com/PMunch/nimcr/blob/master/README.md) - Running Nim code with Shebangs.
 
⇑ (#contents "Go to the top")
 
Services
 
Luntic (https://github.com/xxlabaza/luntic) - Lightweight REST in-memory discovery service. Apache-2.0
 
⇑ (#contents "Go to the top")
 
Text Processing
 
regex (https://github.com/nitely/nim-regex) - Pure Nim regex engine with linear time match. MIT
glob (https://github.com/citycide/glob) - Pure library for matching file paths against Unix style glob patterns. MIT
nim-datauri (https://github.com/juancarlospaco/nim-datauri#nim-datauri) - Data URI Base64 UTF-8. LGPL
 
⇑ (#contents "Go to the top")
 
Translation
 
nim-tinyslation (https://github.com/juancarlospaco/nim-tinyslation#nim-tinyslation) - Text string translation from free online crowdsourced API. LGPL
 
Template Engines
 
smalte (https://github.com/roquie/smalte) - Is a dead simple and lightweight template engine. Specially designed for configure application before start in Docker. MIT
 
⇑ (#contents "Go to the top")
 
Web
 
Web Frameworks
 
Jester (https://github.com/dom96/jester) - The sinatra-like web framework for Nim. Jester provides a DSL for quickly creating web applications in Nim. MIT
Karax (https://github.com/pragmagic/karax) - Framework for developing single page applications in Nim.
nawak (https://github.com/idlewan/nawak) - Web micro-framework in Nimrod, heavily inspired by jester, flask and the like. MIT
oauth (https://github.com/CORDEA/oauth) - OAuth library for Nim. Apache-2.0
rosencrantz (http://andreaferretti.github.io/rosencrantz/) - DSL to write web servers, inspired by Spray (http://spray.io/) and its successor Akka HTTP (http://akka.io).
 
⇑ (#contents "Go to the top")
 
Parsing HTML
 
Nimquery (https://github.com/GULPF/nimquery) - Library for
querying HTML using CSS selectors, like Javascript's
document.querySelector. MIT
 
⇑ (#contents "Go to the top")
 
Generating HTML
 
HastyScribe (https://github.com/h3rald/hastyscribe) - Self-contained markdown compiler generating self-contained HTML documents. https://h3rald.com/hastyscribe
 
⇑ (#contents "Go to the top")
 
Development Tools
 
Binding Generators
 
Nimpy (https://github.com/yglukhov/nimpy) - Gen Python wrappers, call python from nim. MIT
Pymod (https://github.com/jboy/nim-pymod) - Gen Python C-API wrappers. MIT
 
⇑ (#contents "Go to the top")
 
Command-Line Interface Automation
 
cligen (https://github.com/c-blake/cligen) - Infer & generate command-line interace/option/argument parsers MIT
docopt.nim (https://github.com/docopt/docopt.nim) - Command-line args parser MIT
commandeer (https://github.com/fenekku/commandeer) - Provides a small command line parsing DSL (domain specific language) MIT
 
⇑ (#contents "Go to the top")
 
Resources
 
Books
 
Nim in Action (https://www.manning.com/books/nim-in-action) - Nim's first book
Nim Days
(https://github.com/xmonader/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.
 
⇑ (#contents "Go to the top")
 
Blogs
 
Nim Blog (http://nim-lang.org/blog.html) - Official Nim blog.
Goran Krampe (http://goran.krampe.se/nim/) - Wrapping C, arduino, performance, links.
HookRace (https://hookrace.net/blog/nim/) - Blog with multiple articles on Nim.
Rants from the Ballmer Peak (https://gradha.github.io/tags/nim.html) - Posts on Nim and other languages.
Yuriy Glukhov's blog (https://yglukhov.github.io/) - Making and shipping a game in Nim
Araq's Musings (https://nim-lang.org/araq) - Blog on Nim from the creator himself.
 
⇑ (#contents "Go to the top")
 
Community
 
The Nim forum (http://forum.nim-lang.org/)
The Nim IRC channel (http://webchat.freenode.net/?channels=nim)
The Nim Gitter channel (https://gitter.im/nim-lang/Nim)
The Nim mailing list (http://www.freelists.org/list/nim-dev)
The Nim SubReddit (http://reddit.com/r/nim)
The Nim Telegram (https://t.me/nim_lang)
The Nim Telegram on Spanish (https://t.me/NimArgentina)
 
⇑ (#contents "Go to the top")
 
Websites
 
Nim Basics (https://narimiran.github.io/nim-basics/) - Tutorial for beginners and people just starting with Nim.
How I start (https://howistart.org/posts/nim) - Great guide going from 0 to a bf interpreter and then a bf to Nim compiler.
Learn Nim in Y minutes (https://learnxinyminutes.com/docs/nim/) - Whirlwind tour.
Nim by Example (https://nim-by-example.github.io) - Series of pages and examples for learning the Nim programming language.
Nim for Python programmers (https://github.com/nim-lang/Nim/wiki/Nim-for-Python-Programmers) - Guide to Nim for people with experience in Python.
Rosettacode:Nim (https://rosettacode.org/wiki/Category:Nim) - 100s of solutions for various tasks using Nim (Implementations available in other languages as well).
 
⇑ (#contents "Go to the top")
 
Contributing
 
Contributions are very welcome!
 
Please have a look at CONTRIBUTING (https://github.com/VPashkov/awesome-nim/blob/master/CONTRIBUTING.md) for guidelines.
 
⇑ (#contents "Go to the top")