zippy
tamp
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.
zippy
-
I enjoy using the Nim programming language at Reddit
Nothing is without the cons. I would say:
* Libraries: there is no NPM ecosystem to get anything you need.
* Stack-overflow: If you looking for a aswers there might not be anyone who encounters it before. You might have to dig really deep to find some thing.
* Some times you might run into a compiler bug usually related with performance of the generated code. Like it generates correct code bug it's slow for no reason and minor changes to the code make it fast again.
* Relying on OpenSSL especially v3 especially on windows is a big problem, but thats more on openSSL i think. I actually wrote a library around this that uses platforms HTTP/SSL instead: https://github.com/treeform/puppy
* Not having HTTP gzip support in standard library. You can always work around with zippy though: https://github.com/guzba/zippy
* async stack traces are really hard to read.
* not enough docs around the different ways to do threading. There is no one solution some times you want a quick thing, some times you are doing CPU tasks other times you are doing network tasks (where async is better). But many big languages struggle here, there is no one fits all threading solution.
It's definitely not style case insensitivity which everyone loves to bike-shed about.
-
Why I enjoy using the Nim programming language at Reddit.
One last example of Nim’s performance is taking a look at zlib. It has been around for so long and is used everywhere. It has to be as fast as possible, right? After all it uses SIMD and is very tight and battle test code. Well, then the Zippy library gets written in Nim and mostly beats or ties with zlib!
tamp
-
Template for Cython + Poetry + PoetryDynamicVersioning + GithubActions + CIBuildWheel
Recently, I have been working on a lossless data compression library for embedded devices, Tamp. During it's development, I wanted to create a C implementation to increase microcontroller support. To re-use all my python unit tests, I added python-bindings. Additionally, the python-bindings significantly increased the speed of the library.
What are some alternatives?
Snappy - A fast compressor/decompressor
Python-For-Kids - A FREE comprehensive online Python development tutorial FOR KIDS utilizing an official BBC micro:bit Development Board going step-by-step into the world of Python for microcontrollers.
supersnappy - Dependency-free and performant Nim Snappy implementation.
fast_zlib - Heavily optimized zlib compression algorithm
glfm - Wrapper of GLFM (OpenGL ES and input for iOS and Android) library for Nim.
zlib-ng - zlib replacement with optimizations for "next generation" systems. [Moved to: https://github.com/zlib-ng/zlib-ng]
jsony - A loose, direct to object json parser with hooks.
Curtail - Simple & useful image compressor.
rearchiver - Prepare your Reaper project for archiving, converting WAV to FLAC and changing the RPP file accordingly
python-template - Python project and library template for clean, reliable, open-source projects.
pixie - Full-featured 2d graphics library for Nim.
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).