nbview
gonb
Our great sponsors
nbview | gonb | |
---|---|---|
3 | 5 | |
8 | 421 | |
- | - | |
0.0 | 9.3 | |
almost 2 years ago | 9 days ago | |
Go | Go | |
Apache License 2.0 | 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.
nbview
gonb
-
Go, Python, Rust, and production AI applications
I've had these strong feelings and the OP describes it really well. Despite being a polyglot programmer, I really struggle with Python, both in expression and performance (unless it's just config for GPUs).
Some of this frustration was recently an "Unpopular Opinion" on the Go Time Podcast regarding Python being great for "data exploration" but not for "data engineering": https://changelog.com/gotime/304#t=3196
I've been yearning for better interactive tooling and ML-related libraries bridge this gap and started using some even in just the last week:
* GoNB (Golang-support for Jupyter notebooks, also from a Googler) https://github.com/janpfeifer/gonb
* That uses Go-Plotly for graphs/UI: https://github.com/MetalBlueberry/go-plotly
* GoMLX (GoNB author is also on that project, many thanks Jan!) https://github.com/gomlx/gomlx
* Hidden at the end of OP is LangChainGo for LLMs, which I haven't used yet: https://github.com/tmc/langchaingo
Pick those up and let's make the Go community stronger together!
-
The Golang Saga: A Coder’s Journey There and Back Again. Part 2: The Data Expedition
When I created a new Jupyter file in Go, I faced a challenge trying to replicate the development process I usually follow with Python. In Python and Jupyter Notebook I can conveniently run code in separate parts, saving previous values in memory and using cells to organize code. This flexibility was missing in Go, and it took me some time to figure out a solution. However, I came across a helpful tutorial that explained how to use caching with the Go Kernel, making the process smoother with gonb.
-
The Golang Saga: A Coder’s Journey There and Back Again. Part 1: Leaving the Shire
I needed one more thing to make myself feel at home, something I usually use with Python. When working with data, I often turned to the Jupyter VSCode extension for its convenience. To my relief, I discovered that a Go kernel existed, tailored perfectly for my needs.
-
GoMLX -- Accelerated ML for Go
Training library, with some pretty-printing. Including plots for GoNB Jupyter notebook.
-
GoNB, a new Jupyter Notebook Kernel for Go
Tutorial (and demo) here. Source code in github.com/janpfeifer/gonb.
What are some alternatives?
gophernotes - The Go kernel for Jupyter notebooks and nteract.
fleet
excelize - Go language library for reading and writing Microsoft Excel™ (XLAM / XLSM / XLSX / XLTM / XLTX) spreadsheets
Docker - Notary is a project that allows anyone to have trust over arbitrary collections of data
myLG - Network Diagnostic Tool
ipe - An open source Pusher server implementation compatible with Pusher client libraries written in GO
Hugo - The world’s fastest framework for building websites.
gomlx - GoMLX -- Accelerated ML Libraries for Go
weather-project - Weather analyzer pet project
askai - Command Line Interface for OpenAi ChatGPT
Comcast - Simulating shitty network connections so you can build better systems.
Juju - Orchestration engine that enables the deployment, integration and lifecycle management of applications at any scale, on any infrastructure (Kubernetes or otherwise).