impulse
nimib
impulse | nimib | |
---|---|---|
1 | 4 | |
16 | 171 | |
- | - | |
7.6 | 5.3 | |
30 days ago | about 2 months ago | |
C++ | Nim | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
impulse
-
Arraymancer – Deep Learning Nim Library
I am one of the Arraymancer contributors. I believe that what mratsim (Arraymancer’s creator) has done is pretty amazing but I agree that the scope is a quite ambitious. There’s been some talk about separating the deep learning bits into its own library (which I expect would be done in a backwards compatible way). Recently we worked on adding FFT support but instead of adding it to Arraymancer it was added to “impulse” (https://github.com/SciNim/impulse) which is a separate, signal processing focused library. There is also Vindaar’s datamancer (a pandas like dataframe library) and ggplotnim (a plotting library inspired by R’s ggplot). The combination of all of these libraries makes nim a very compelling language for signal processing, data science and ML.
Personally I’d like Arraymancer to be a great tensor library (basically a very good and ideally faster alternative to numpy and base Matlab). Frankly I think that it’s nearly there already. I’ve been using Arraymancer to port a 5G physical layer simulator from Matlab to nim and it’s been a joy. It’s not perfect by any means but it’s already very good. And given how fast nim’s scientific ecosystem keeps improving it will only get much better.
nimib
-
Arraymancer – Deep Learning Nim Library
Jupyter notebook is indeed very important. It mainly provides data scientists with two things: a literate programming environment (mixing text, code and outputs) and a way to hold state of data in memory (so that you can perform computation interactively).
As a different take to literate programming we have created a library and an ecosystem around it: https://github.com/pietroppeter/nimib
For holding state a Nim repl (which is on the roadmap as secondary priority after completing incremental compilation) is definitely an option.
Another option could be to create a library framework for caching (or be able to serialize and deserialize quickly) large data and objects. One way to see it, could be to build something similar to streamlit cache (streamlit indeed provides great interactivity)
-
Nim 2.0.0 RC2
As a reminder, at Nim Conf back in October 2022 Andreas presented Nim 2.0 in this video https://www.youtube.com/watch?v=aDi50K_Id_k&list=PLxLdEZg8DR...
Hearing again I cannot chuckle when Araq says: Nim v1 is good at everything, Nim v2 is supposed to be better at everything.
Back then it was supposed to come out in 2022 and indeed a RC1 came out in Dec. In the blogpost for RC1 you find the desciption of all new features: https://nim-lang.org/blog/2022/12/21/version-20-rc.html
This longer time is because extra care is being taken into having a smooth transitions (for example important libraries have been tested to work on nim v2, e.g. we made sure nimib was working with v2 in early Feb: https://github.com/pietroppeter/nimib/releases/tag/v0.3.6)
- AsciiDoc, Liquid and Jekyll
-
Nim Version 1.6 Released
https://github.com/pietroppeter/nimib
Based on that and using a book theme, scinim getting started documentation is being built, e.g.:
What are some alternatives?
httpbeast - A highly performant, multi-threaded HTTP 1.1 server written in Nim.
treesitter-unit - A Neovim plugin to deal with treesitter units
nlvm - LLVM-based compiler for the Nim language
ttop - System monitoring tool with historical data service, triggers and top-like TUI
nesper - Program the ESP32 with Nim! Wrappers around ESP-IDF API's.
asciidoctor-html5s - Semantic HTML5 converter (backend) for Asciidoctor
nim-chronos - Chronos - An efficient library for asynchronous programming
vscode-nim
nvim-treesitter - Nvim Treesitter configurations and abstraction layer
prologue - Powerful and flexible web framework written in Nim
nimbus-eth2 - Nim implementation of the Ethereum Beacon Chain
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