genny
tiny-skia
Our great sponsors
genny | tiny-skia | |
---|---|---|
5 | 8 | |
143 | 487 | |
- | - | |
7.8 | 5.3 | |
2 months ago | 4 months ago | |
Nim | Rust | |
MIT License | BSD 3-clause "New" or "Revised" 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.
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.
-
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++
tiny-skia
-
I wrote a GUI library.
Nice to see tiny-skia in use.
-
Hey Rustaceans! Got an easy question? Ask here (40/2021)!
There's several different approaches you could take, but I'd probably suggest macroquad as the easiest. I've also used minifb for windowing + a drawing library like raqote or tiny-skia.
-
Pixie β A full-featured 2D graphics library for Nim
If you're looking for a small, fast CPU-based 2D library, you might be interested in https://github.com/RazrFalcon/tiny-skia
Just like Skia, all pixel accesses is SIMD accelerated.
It doesn't have C bindings, but they can be trivially implemented.
-
What libraries do you miss from other languages?
https://github.com/RazrFalcon/tiny-skia is the fastest 2D drawing library around, second only to Skia itself. It's written in safe Rust, and the API is quite nice.
-
Rust SIMD native vs. C-Libary
Rust code can be a bit slower for some reason or another, but you definitely do not need so much unsafe. tiny-skia uses a lot of SIMD and it is unsafe free.
-
swash: Complex text shaping and glyph rasterization in pure Rust
Like tiny-skia? As for font-specific one there are ab-glyph and fontdue.
-
Anyone want to speed up a PNG decoder?
I have a project called tiny-skia that uses SIMD heavily. The current AVX+SSE2 code is like 150KiB. Now add SSE2 and Scalar only versions and you can easily hit 300-500KiB. Not to mention the increased complexity.
What are some alternatives?
fontdue - The fastest font renderer in the world, written in pure rust.
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).
pixie - Full-featured 2d graphics library for Nim.
not-yet-awesome-rust - A curated list of Rust code and resources that do NOT exist yet, but would be beneficial to the Rust community.
image-png - PNG decoding and encoding library in pure Rust
cloudscraper - A Python module to bypass Cloudflare's anti-bot page.
canvas - Cairo in Go: vector to raster, SVG, PDF, EPS, WASM, OpenGL, Gio, etc.
rust - Empowering everyone to build reliable and efficient software.
resvg-test-suite - resvg test suite
aws-sdk-rust - AWS SDK for the Rust Programming Language
nom - Rust parser combinator framework
tokio - A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...