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.
genny
-
Generate Python extensions using Nim language
Also of interest for people might be Genny. It’s a Nim library to automate creating language bindings for other languages. Currently it supports Python, Node, and C.
https://github.com/treeform/genny
-
Nim -- a modern "glue" language like Python
c2nim is a tool to translate ANSI C code to Nim. The output is human-readable Nim code that is meant to be tweaked by hand after the translation process. If you are tired of wrapping C library, you can try futhark which supports "simply import C header files directly into Nim". Similar to futhark, cinterop allows one to interop with C/C++ code without having to create wrappers. nimLUA is a glue code generator to bind Nim and Lua together using Nim's powerful macro. nimpy and nimporter is a bridge between Nim and Python. rnim is a bridge between R and Nim. nimjl is a bridge between Nim and Julia! Last but not least, genny generates a shared library and bindings for many languages such as Python, Node.js, C.
- Genny – Generate Nim library bindings for many languages
-
Pixie – A full-featured 2D graphics library for Nim
For those using Python, we just got our Python bindings for Pixie up onto pip. Repo here https://github.com/treeform/pixie-python
It's extremely fresh but our tests are working so consider giving it a try.
For those interested in Nim's meta-programming, we're generating those Python bindings for Pixie from our Nim code using https://github.com/treeform/genny here https://github.com/treeform/pixie/blob/master/bindings/bindi...
- Transmission torrent client ported to C++
nbdkit
-
Why AWS Supports Valkey
This is correct, but doesn't quite explain why. It's because when you accept contributions from a variety of authors, without using a CLA, then your code base ends up with a patchwork of copyright, making relicensing practically impossible as you have to get buy-in from every author or else determine that author's contributions and remove/rewrite them.
GPL/LGPL are excellent licenses, but this patchwork of copyright can apply for any license you use. For a small project we wrote which was under BSD, we recently had to make a small (non-functional) change to the license, and we got buy-in from all the authors to do this which took quite a long time: https://gitlab.com/nbdkit/nbdkit/-/commit/952ffe0fc7685ea775...
-
Disk write buffering and its interactions with write flushes
That second link is wrong, should be: https://gitlab.com/nbdkit/nbdkit/-/commit/a956e2e75d6c88eeef...
-
The C++20 Naughty and Nice List for Game Devs
I think an exception might be made for a plain "C-like" struct that doesn't initialize members or contain anything except basic types. In the specific example[0] the code is actually surrounded by extern "C" { ... } so I suppose that the compiler "knows" this is a plain C struct?
[0] https://gitlab.com/nbdkit/nbdkit/-/blob/cd761c9bf770b23f678f...
- Static Analysis Tools for C
- jq 1.7 Released
-
The OpenTF Manifesto
We relicensed[1] a project which had 10 contributors, and we got every single one of them to do an Acked-by (by email) which took some weeks. That was the advice from our lawyers. Can't imagine the impossible hassle of doing the same for something like Linux.
[1] https://gitlab.com/nbdkit/nbdkit/-/commit/952ffe0fc7685ea775...
- TIL: You Can Stop Updating Copyright Attribution Years (2021)
- Starting October 19, storage limit will be enforced on all Gitlab Free accounts
- nbdkit: High performance Linux block devices in userspace
What are some alternatives?
rnim - A bridge between R and Nim
dattobd - kernel module for taking block-level snapshots and incremental backups of Linux block devices
c2nim - c2nim is a tool to translate Ansi C code to Nim. The output is human-readable Nim code that is meant to be tweaked by hand before and after the translation process.
qemu
ClangSharp - Clang bindings for .NET written in C#
libnbd
nimjl - A bridge between Nim-lang and Julia !
transgui - 🧲 A feature rich cross platform Transmission BitTorrent client. Faster and has more functionality than the built-in web GUI.
c2rust - Migrate C code to Rust
jackson-jq - jq for Jackson Java JSON Processor
nimLUA - glue code generator to bind Nim and Lua together using Nim's powerful macro
git-filter-repo - Quickly rewrite git repository history (filter-branch replacement)