A collection of Nim-related links that I may need to refer to later. Lists of articles, posts, libraries, or other materials. Kind of an awesome-list, but not as curated!
Libraries to assist in the creation of desktop applications
- Native Widgets
- SDL-based
- Other Graphics Library Based
- Web-based
Libraries to generate or display graphics
-
Images
- treeform/pixie - A full-featured 2D graphics library
-
Plotting
- ruivieira/matplotnim - A matplotlib wrapper.
- sista/graph - A simple plotting library. Outputs to .png or .svg
-
Realtime
- treeform/pixie - A full-featured 2D graphics library.
- nim-lang/sdl2 - The original SDL2 port.
- Vladar4/sdl2_nim - Another SDL2 option, with slightly different API.
Libraries for primarily technical or scientific purposes
- Math
- AI / ML
- Computer Vision
- Data
- Plot
Libraries for parsing, pattern matching, or other kinds of text or data processing
- nitely/nim-regex - A pure Nim library that offers fast regex abilities. Doesn't require an external/dynamic library.
Libraries for dealing with databases, data processing, or data storage
- moigagoo/norm - Norm is an object-driven, framework-agnostic ORM for Nim that supports SQLite and PostgreSQL.
- SSPkrolik/nimongo - A basic pure nim MongoDB driver with a nice interface. Doesn't support every feature, but does support sync/async to some extent. Sufficient for simple use cases for sure!
Libraries focused on the JS Nim target
- Frontend
- juancarlospaco/nim-html-tools - A collection of HTML template tools for Nim.
- Graphics
- define-private-public/HTML5-Canvas-Nim - A nice HTML5 canvas wrapper for the JS target.
- Node
- c-blake/cligen - A nice, full featured, CLI tool argument / options / input parsing library.
Useful smaller articles and reading related to Nim
Useful books and longer guides about Nim or Nim-related topics
- Nim in Action - By Dominik Picheta. The main Nim book. Somewhat older, but still relevant and good. Goes through the basics of the language with example projects, and touches on a few more advanced or niche aspects of Nim such as FFI/wrapping, and packages.
- Computer Programming with the Nim Programming Language - By Stefan Salewski. A comprehensive overview of the language, geared towards those interested in programming in general.
- Nim Basics - By narimiran. A Basic overview of Nim, geared towards those with minimal programming experience.
- Learn Nim in Y Minutes - A fast, example code-based introduction to the language.
- The Nim Memory Model - By zevv. An overview of how Nim deals with memory.
- Nimscript Guide (Nim Docs) - An overview of using Nim as a scripting language.