`rustworkx` is older and much more mature than PyGraphina. So at the moment, it includes a larger collection of graph algorithms. But the goal is to keep PyGraphina focused on specific applications like community detection and link prediction with a high-level API like NetworkX.
I wanted to get a sense of and intuition for how to build an LLM from scratch, and to learn more Zig by doing so.
I avoided using external (linear algebra/tensor) libraries to keep the project's scope small and manageable. Adding them can be the next step, but they are usually very large dependencies that can make the project bloated. Anyway, Zig has great SIMD and multi-threading support, but I think there is a need for a native linalg/tensor library for Zig with a clean and mature API.
I'm not sure about the usefulness, it depends TBH. I think there are a lot of people (like hobbyists, students, people learning Zig, etc.) who can find the project somewhat useful at its current stage.
Wouldn't surprise me whatsoever if someone creates zigplus, which is just some TypeScript-style superset that adds lambdas and interfaces to Zig as syntax sugar.
I created this library to help me verify the correctness of my Zig code in another project. However, I wanted the option to strip the checks when the code becomes more mature, for efficiency. For efficiency, I mainly care about speed, which is why checks are only compiled out in `ReleaseFast`.
I'm new to Zig myself and created this library because I had trouble verifying the correctness of the code I wrote for a set of complex data structures in another larger Zig project (this one: https://github.com/habedi/ordered). I'm currently experimenting with how to use DbC in Zig, which led to the creation of this library.
reply