Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge. Learn more →
Top 23 Go Utility Projects
-
There are two plugins allowing us to use fzf in Vim: the native fzf plugin directly installed with fzf, and fzf.vim. The second plugin is built on the first one.
-
Project mention: Dive – A tool for exploring each layer in a Docker image | news.ycombinator.com | 2023-10-19
-
InfluxDB
Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.
-
-
Project mention: GitHub Discussion about the recent feed changes becomes 3rd most upvoted ever | news.ycombinator.com | 2023-09-11
Use hub here via CLI and forget the gui https://hub.github.com/
-
At a recent job, we had slightly different containers for local dev; our backend containers (for a Go app) had Air [1] installed for live reloading, plus Delve [2] running inside the container for VS Code's debugger to connect to. We also had a frontend container for local dev, which didn't get deployed as a container, just as static files.
-
gin-vue-admin
基于vite+vue3+gin搭建的开发基础平台(支持TS,JS混用),集成jwt鉴权,权限管理,动态路由,显隐可控组件,分页封装,多点登录拦截,资源权限,上传下载,代码生成器,表单生成器,chatGPT自动查表等开发必备功能。
-
excelize
Go language library for reading and writing Microsoft Excel™ (XLAM / XLSM / XLSX / XLTM / XLTX) spreadsheets
Project mention: Recommend a powerful excel processing library, @zurmokeeper/exceljs, which supports encryption and decryption of xlsx files and flexible setting of multiple table headers when exporting, etc. | /r/node | 2023-07-01Then I found out that WPS only supports ecma376 standard encrytion for xlsx files. Then I referred to the official documentation and libraries in other languages, such as msoffcrypto-tool written in python. msoffcrypto-tool) and go's excelize. Since I don't know much about encryption and decryption, the process of implementation is also a bit of a twist.
-
Onboard AI
Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.
-
This does remind me of ctop as well: https://github.com/bcicen/ctop
It also let's you look at containers, resource usage graphs, their logs and even do some actions through a TUI.
-
Someone made a benchmark of serialization libraries in go [1], and I was surprised to see gobs is one of the slowest ones, specially for decoding. I suspect part of the reason is that the API doesn't not allow reusing decoders [2]. From my explorations it seems like both JSON [3], message-pack [4] and CBOR [5] are better alternatives.
By the way, in Go there are a like a million JSON encoders because a lot of things in the std library are not really coded for maximum performance but more for easy of usage, it seems. Perhaps this is the right balance for certain things (ex: the http library, see [6]).
There are also a bunch of libraries that allow you to modify a JSON file "in place", without having to fully deserialize into structs (ex: GJSON/SJSON [7] [8]). This sounds very convenient and more efficient that fully de/serializing if we just need to change the data a little.
--
1: https://github.com/alecthomas/go_serialization_benchmarks
2: https://github.com/golang/go/issues/29766#issuecomment-45492...
--
3: https://github.com/goccy/go-json
4: https://github.com/vmihailenco/msgpack
5: https://github.com/fxamacker/cbor
--
6: https://github.com/valyala/fasthttp#faq
--
-
-
-
That's when I came across taskfile.dev. Task is an automation tool designed to be more accessible than other options, such as GNU Make.
-
Project mention: xo/usql: Universal command-line interface for SQL databases | /r/devel | 2023-06-08
-
-
IDE: use whatever make you productive. I personally use vscode. VCS: git, as golang communities use github heavily as base for many libraries. AFAIK Linter: use staticcheck for linting as it looks like mostly used linting tool in go, supported by many also. In Vscode it will be recommended once you install go plugin. Libraries/Framework: actually the standard libraries already included many things you need, decent enough for your day-to-day development cycles(e.g. `net/http`). But here are things for extra: - Struct fields validator: validator - Http server lib: chi router , httprouter , fasthttp (for non standard http implementations, but fast) - Web Framework: echo , gin , fiber , beego , etc - Http client lib: most already covered by stdlib(net/http), so you rarely need extra lib for this, but if you really need some are: resty - CLI: cobra - Config: godotenv , viper - DB Drivers: sqlx , postgre , sqlite , mysql - nosql: redis , mongodb , elasticsearch - ORM: gorm , entgo , sqlc(codegen) - JS Transpiler: gopherjs - GUI: fyne - grpc: grpc - logging: zerolog - test: testify , gomock , dockertest - and many others you can find here
-
-
kopia
Cross-platform backup tool for Windows, macOS & Linux with fast, incremental backups, client-side end-to-end encryption, compression and data deduplication. CLI and GUI included.
Project mention: Kopia: Open-Source, Fast and Secure Open-Source Backup Software | news.ycombinator.com | 2023-09-15Kopia is great, though it's worth noting for folks on Linux: non-UTF-8 paths aren't stored correctly [1] and xattrs aren't stored [2]. While most folks probably won't care about the former, the latter can could cause issues (eg. losing SELinux labels makes it difficult to restore a backup of the root filesystem on distros that use SELinux).
-
-
-
afex/hystrix-go
-
I want to write the lua bindings for tdewolff/minify the appropriate way. It already has python and js bindings but I can't figure out how to do that. The python bindings seems to use the shared object file, but the js doesn't work like that. What options do I have?
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Go Utilities related posts
- A Practical Guide to fzf: Vim Integration
- Go Development with Hot Reload Using Taskfile
- Delve v1.21.2 is out now
- ltag: A little CLI tool for tagged text searching
- Dive – A tool for exploring each layer in a Docker image
- Poetry (Packaging) in motion
- Kopia: Open-Source Backup Software
-
A note from our sponsor - InfluxDB
www.influxdata.com | 6 Dec 2023
Index
What are some of the best open-source Utility projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | fzf | 55,712 |
2 | dive | 39,599 |
3 | ngrok | 23,351 |
4 | hub | 22,573 |
5 | delve | 21,355 |
6 | gin-vue-admin | 18,818 |
7 | excelize | 16,311 |
8 | ctop | 14,779 |
9 | GJSON | 13,053 |
10 | goreleaser | 12,341 |
11 | wuzz | 10,393 |
12 | Task | 8,999 |
13 | usql | 8,339 |
14 | peco | 7,478 |
15 | godotenv | 6,909 |
16 | xlsx | 5,592 |
17 | kopia | 5,312 |
18 | go-funk | 4,481 |
19 | godropbox | 4,156 |
20 | hystrix-go | 4,068 |
21 | minify | 3,477 |
22 | panicparse | 3,457 |
23 | gorequest | 3,338 |