daru
krangl
Our great sponsors
daru | krangl | |
---|---|---|
3 | 1 | |
1,027 | 559 | |
0.2% | - | |
1.6 | 6.9 | |
9 months ago | about 1 year ago | |
Ruby | Kotlin | |
BSD 1-Clause License | 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.
daru
-
2,900 page Manual about Pandas [pdf]
For dataframes libraries in Ruby, there are Rover[0] and Daru[1]:
[0]:https://github.com/ankane/rover
[1]:https://github.com/SciRuby/daru
-
On DataFrame datatype in Ruby (2016)
Me neither! Don't know how or why it suddenly appeared on the HN main :)
Just to provide a bit of the personal context: this article caused creator of DaRu (Sameer Deshmukh) to contact me and propose to work on DaRu together, and so I did (see @zverok here: https://github.com/SciRuby/daru/graphs/contributors). I also was, for some time, SciRuby/DaRu's mentor for Google Summer of Code (and, IIRC, it was my initial idea that daru-view grew from).
Also, since that article, an independent dataframe library https://github.com/ankane/rover was created by Andrew Kane, handling some of API and implementation in a cleaner way.
That being said, I am not sure that DaRu, or Rover (or "dataframe" idea in general) has enough visibility in the Ruby community. It is mostly thought as "some special scientific thing", while I believe in 2021 it should be seen as one of the necessary everyday high-level datatypes.
That's what I'd focus this article on if I'd written it today.
krangl
-
2,900 page Manual about Pandas [pdf]
> And what's the alternative, Excel?
Take this with a grain of salt from someone who needs data manipulation occasionally every now and then (as opposed to being a full time number-cruncher, data-scientist, statistician etc.), using krangl[1] for Kotlin has been a great experience.
I was drawn to this library because I use Kotlin in my dayjob for backend development, but I love how well Kotlin's succinct syntax & features like extension functions lends itself to data transformation & ETL kind of use cases.
Also it doesn't hurt that JVM has a plethora of libraries available for things like DB access, plotting, etc.
I am sure that Pandas has many features I am unaware of, and for a lot of people the high-ish startup time can be a deterrant, but for most of my day to day data munging the combination of jbang, krangl & kravis has been a pretty good fit.
[1] https://github.com/holgerbrandl/krangl
What are some alternatives?
Rgl - RGL is a framework for graph data structures and algorithms in Ruby.
Kotlift - Kotlift is the first source-to-source language transpiler from Kotlin to Swift
rover - Simple, powerful data frames for Ruby
kassava - This library provides some useful kotlin extension functions for implementing toString(), hashCode() and equals() without all of the boilerplate.
red_amber - A dataframe library for Rubyists.
kotlin-logging - Lightweight Multiplatform logging framework for Kotlin. A convenient and performant logging facade.
pairing_heap - Performant priority queue in pure Ruby with support for changing priority using pairing heap data structure
Strukt - C-style structs on the JVM!
Ruby Units - A unit handling library for ruby
kotlinx-datetime - KotlinX multiplatform date/time library
daru-view - daru-view is for easy and interactive plotting in web application & IRuby notebook. daru-view is a plugin gem to the existing daru gem.
asmble - Compile WebAssembly to JVM and other WASM tools