SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Nim Open-Source Projects
-
Nim
Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
22. Nim - $80,000
-
Project mention: Mobile Ad Blocker Will No Longer Stop YouTube's Ads | news.ycombinator.com | 2024-04-16
Don't use Youtube without going through a proxy like Invidious [1] or Newpipe
Don't use {site} Search without going through a proxy like SearxNG [2]
Don't use TwiXXer without going through a proxy like Nitter - this has gotten more difficult lately but it still works as long as you feed the daemon some registered accounts. Video does not work at the moment but that seems to be fixable.
Don't use Reddit without going through a proxy like libreddit [4]
Start noticing the pattern? Maybe it is time to start producing promotional posters:
The only thing to come between you and ADS could be a proxy / ADS. I'ts just not worth the risk
ADS / New rules for a sane net / Sane net protects you, your partner and your community
A proxy here and a filter there, ADS nowhere
The more you tighten your grip, ${site}, the more viewers will slip through your fingers
[1] https://github.com/iv-org/invidious
[2] https://github.com/searxng/searxng
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Kaitai Struct
Kaitai Struct: declarative language to generate binary data parsers in C++ / C# / Go / Java / JavaScript / Lua / Nim / Perl / PHP / Python / Ruby
-
Project mention: STB: Single-file public domain libraries for C/C++ | news.ycombinator.com | 2024-01-06
there's glad (https://github.com/Dav1dde/glad) which you can use as a single .c file + .h header that defines OpenGL stuff or a single header-only file. I use it on all of my OpenGL projects!
-
-
Arraymancer
A fast, ergonomic and portable tensor library in Nim with a deep learning focus for CPU, GPU and embedded devices via OpenMP, Cuda and OpenCL backends
It is a small DSL written using macros at https://github.com/mratsim/Arraymancer/blob/master/src/array....
Nim has pretty great meta-programming capabilities and arraymancer employs some cool features like emitting cuda-kernels on the fly using standard templates depending on backend !
-
Project mention: Ask HN: What are some unpopular technologies you wish people knew more about? | news.ycombinator.com | 2023-12-02
I was using Nim for some of last years Advent of Code problems. I was mostly liking the syntax. Was a bit bother by the standard library have a snake case and camel case reference for each function (if I'm remember that correctly).
At the time nimble also required me to have NPM to install the the Nim package manager, Nimble. This was not ideal, but looking at [the nimble project install docs](https://github.com/nim-lang/nimble#installation) it seems like it is now package with the language.
Might try dusting it off for some AoC puzzles this year :)
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
-
Related:
A fast Pascal (Delphi) WebAssembly interpreter:
https://github.com/marat1961/wasm
WASM-4:
https://github.com/aduros/wasm4
Curated list of awesome things regarding WebAssembly (wasm) ecosystem:
https://github.com/mbasso/awesome-wasm
Also, it would be nice if there was a WASM (soft) CPU for QEMU, which (if it existed!) would go here:
-
Ones that have not been mentioned so far:
nlvm is an unofficial LLVM backend: https://github.com/arnetheduck/nlvm
npeg lets you write PEGs inline in almost normal PEG notation: https://github.com/zevv/npeg
futhark provides for much more automatic C interop: https://github.com/PMunch/futhark
nimpy allows calling Python code from Nim and vice versa: https://github.com/yglukhov/nimpy
questionable provides a lot of syntax sugar surrounding Option/Result types: https://github.com/codex-storage/questionable
ratel is a framework for embedded programming: https://github.com/PMunch/ratel
cps allows arbitrary procedure rewriting to continuation passing style: https://github.com/nim-works/cps
chronos is an alternative async/await backend: https://github.com/status-im/nim-chronos
zero-functional fixes some inefficiencies when chaining list operations: https://github.com/zero-functional/zero-functional
owlkettle is a declarative macro-oriented library for GTK: https://github.com/can-lehmann/owlkettle
A longer list can be found at https://github.com/ringabout/awesome-nim.
-
-
If the video example does not work, you can use the examples projects in the nim SDL repository. When ex101_init.nim works, there is no reason the video example does not work. If you have further issues, do not hesitate to share a minimal working example with your detailed configuration (Nim compiler version, command line you used, file directory, libraries installed) on the forum.nim-lang.org
-
-
-
-
choosenim
Tool for easily installing and managing multiple versions of the Nim programming language.
-
Project mention: Calculating Average Coverage or Read Depth for a Sequence (WES) | /r/bioinformatics | 2023-06-24
-
- `nim secret`[0]: code is interpreted with Nim's vm, it is limited to compile-time (e.g. no C/C++).
- `nlvm r`[1]: nlvm backend supports JIT compilation and repl-like interface was added in latest release.
- `inim`[2]: supports all nim code, but it's not really a true repl. It adds code to a file and recompiles it (you can see the source file with `ctrl+x`). I'd recommend to use it with clang compiler, because it's a bit faster than gcc in my experience. It's the best option right now. And I use it almost daily.
First two options have rudimentary input system. But you can get command history and left-right navigation by wrapping them with rlwrap (should be preinstalled on most *nixes): `rlwrap nim secret`, `rlwrap nlvm r`.
There are plans to support incremental compilation for the next Nim release (it is currently broken). That would improve inim and other repls experience significantly.
[0]: https://nim-lang.org/docs/manual.html#restrictions-on-compil...
-
-
-
The benchmark available at https://programming-language-benchmarks.vercel.app/ demonstrates that Golang stands out as one of the most memory-efficient languages presently available. This achievement is attributable to several inherent features of Golang, such as its static typing, robust garbage collection system, and the inherent structuring of data within the language. These traits collectively contribute to Golang's exceptional efficiency in terms of minimal memory consumption compared to other languages.
-
> Another problem is that there are hundreds of built-in library functions that need to be compiled from Python from C
An approach I've advocated as one of the main authors of py2many is that all of the python builtin functions be written in a subset of python[1] and then compiled into native code. This has the benefit of avoiding GIL, problems with C-API among other things.
Do checkout the examples here[2] which work out of the box for many of the 8-9 supported backends.
[1] https://github.com/py2many/py2many/blob/main/doc/langspec.md
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Nim related posts
- Nim Versions 2.0.4 and 1.6.20 released
- Nitter over IPFS or Torrent
- Arraymancer – Deep Learning Nim Library
- Go, Python, Rust, and production AI applications
- Neural Network Diffusion
- Owlkettle – declarative GUI framework for Nim
- Nim CPS: compile-time continuations
-
A note from our sponsor - SaaSHub
www.saashub.com | 18 Apr 2024
Index
What are some of the best open-source Nim projects? This list will help you:
Project | Stars | |
---|---|---|
1 | Nim | 16,048 |
2 | nitter | 9,629 |
3 | Kaitai Struct | 3,828 |
4 | glad | 3,486 |
5 | jester | 1,539 |
6 | Arraymancer | 1,298 |
7 | nimble | 1,228 |
8 | prologue | 1,200 |
9 | wasm4 | 1,055 |
10 | awesome-nim | 1,032 |
11 | nimporter | 808 |
12 | nimforum | 746 |
13 | NiGui | 701 |
14 | worm | 688 |
15 | nlvm | 680 |
16 | choosenim | 665 |
17 | mosdepth | 652 |
18 | INim | 625 |
19 | nico | 610 |
20 | moe | 600 |
21 | Programming-Language-Benchmarks | 590 |
22 | py2many | 590 |
23 | nimbus-eth1 | 551 |