awesome-nim

精选的Nim框架,库和软件的精选列表。 灵感来自其他真棒列表。(A curated list of awesome Nim frameworks, libraries and software. Inspired by other awesome lists.)

  • Owner: vpashkov/awesome-nim
  • Platform: BSD, Docker, Linux, Windows
  • License:: Creative Commons Zero v1.0 Universal
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

DEPRECATED - Use Curated Packages instead.

Awesome Nim Awesome

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

Contents

Async processing

Build Systems/Package Management

  • ChooseNim - Installing and switching between Nim versions (à la rustup, pyenv). [MIT]
  • Nake - Describe your Nim builds as tasks. [MIT]
  • Nawabs - A build system that throws away version numbering in favor of git hashes. [MIT]
  • Nimble - Nimble can be used as a build system. [BSD]

Byte Size

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

Checksums

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

Database

Date Time

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

Deep Learning

  • Arraymancer - A fast, ergonomic and portable tensor library in Nim with a deep learning focus for CPU, GPU, OpenCL and embedded devices. [Apache-2.0]
  • NimTorch - PyTorch - Python + Nim. A Nim front-end to PyTorch's native backend, combining Nim's speed, productivity and portability with PyTorch's latest implementations. [MIT]

Design

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

Embedded

  • msp430f5510 - Run Nim on MSP430f5510 micro-controller (6KB of RAM).
  • stm32f3 - Run Nim on STM32F3 micro-controller (16KB of RAM).
  • ardunimo - Nim wrapper for Arduino + LinkIt ONE SDK by Mediatek.
  • ardunimesp - Nim wrapper for Arduino ESP8266 framework + A tool for flash, compile and make the nim project into an Arduino project.

Game Development

  • frag - Cross-platform 2D, 3D game framework for the Nim programming language. [MIT]
  • zengine - 2D, 3D Game development library.
  • SDL2 - Wrapper for SDL 2. [MIT]
  • GLAD - Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs. [MIT]
  • nim-glm - Port of the popular glm C++ library to Nim. [MIT]

GUI

  • ui - Wrapper for IUP - Beginnings of what might become Nim's official UI library.
  • nim-kdialog - Nim Kdialog Qt5 Wrapper for Desktop. [LGPL]
  • nimAntTweakBar - Wrapper for AntTweakBar.
  • nimx - Desktop, Mobile & Web GUI framework in Nim.
  • NiGui - cross-platform, desktop GUI toolkit [MIT]

IDE

Implementations

  • Nim - Nim (formerly known as "Nimrod") is a compiled, garbage-collected systems programming language which has an excellent productivity/performance ratio. Nim's design focuses on efficiency, expressiveness, elegance (in the order of priority). [MIT] website
  • Nlvm - LLVM backend for Nim. [MIT]

Macros

  • cascade - Method & assignment cascades for Nim, inspired by Smalltalk & Dart. [MIT]
  • gara - Macro-based pattern matching library. [MIT]
  • pipe - Pipe operator for Nim, as seen in functional languages. [MIT]
  • unpack - Sequence/object unpacking/destructuring. [MIT]

Package Repositories

  • Nim packages - List of packages for Nimble.
  • Nim package directory - This service allows you to explore Nim packages known to Nimble.
    It tests package installation and generates documentation using "nim doc".

REPL

  • INim - Interactive Nim Shell. [MIT]

Scripting

  • Nimcr - Running Nim code with Shebangs.

Services

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

Text Processing

  • regex - Pure Nim regex engine with linear time match. [MIT]
  • glob - Pure library for matching file paths against Unix style glob patterns. [MIT]
  • nim-datauri - Data URI Base64 UTF-8. [LGPL]

Translation

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

Template Engines

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

Web

Web Frameworks

  • Jester - The sinatra-like web framework for Nim. Jester provides a DSL for quickly creating web applications in Nim. [MIT]
  • Karax - Framework for developing single page applications in Nim.
  • nawak - Web micro-framework in Nimrod, heavily inspired by jester, flask and the like. [MIT]
  • oauth - OAuth library for Nim. [Apache-2.0]
  • rosencrantz - DSL to write web servers, inspired by Spray and its successor Akka HTTP.

Parsing HTML

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

Generating HTML

Development Tools

Binding Generators

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

Command-Line Interface Automation

  • cligen - Infer & generate command-line interace/option/argument parsers [MIT]
  • docopt.nim - Command-line args parser [MIT]
  • commandeer - Provides a small command line parsing DSL (domain specific language) [MIT]

Resources

Books

  • Nim in Action - Nim's first book
  • Nim Days - A project to document my journey with nim with mini applications, libraries documented from A to Z and also to provide new Nim users with some extra in depth information.

Blogs

Community

Websites

  • Nim Basics - Tutorial for beginners and people just starting with Nim.
  • How I start - Great guide going from 0 to a bf interpreter and then a bf to Nim compiler.
  • Learn Nim in Y minutes - Whirlwind tour.
  • Nim by Example - Series of pages and examples for learning the Nim programming language.
  • Nim for Python programmers - Guide to Nim for people with experience in Python.
  • Rosettacode:Nim - 100s of solutions for various tasks using Nim (Implementations available in other languages as well).

Contributing

Contributions are very welcome!

Please have a look at CONTRIBUTING for guidelines.

Main metrics

Overview
Name With Ownervpashkov/awesome-nim
Primary Language
Program language (Language Count: 0)
PlatformBSD, Docker, Linux, Windows
License:Creative Commons Zero v1.0 Universal
所有者活动
Created At2015-08-04 16:02:35
Pushed At2019-11-14 12:10:15
Last Commit At2019-11-14 13:10:15
Release Count0
用户参与
Stargazers Count652
Watchers Count40
Fork Count38
Commits Count143
Has Issues Enabled
Issues Count9
Issue Open Count5
Pull Requests Count53
Pull Requests Open Count4
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private