Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

go-awesome

Go language excellent resource arrangement, to accelerate the implementation of the project
https://github.com/NightKari/go-awesome

Last synced: 4 days ago
JSON representation

  • Paid Tutorials

  • Awesome

  • Documentation

  • Guide

  • Article

  • Finished Items

    • To Organize

      • Shiori - bookmark management
      • studygolang - Go Language Chinese Network
      • mkcert - Tool to generate a local HTTPS encryption certificate
      • Rainbond - Open source PaaS based on container technologies like Docker and Kubernetes
      • **NYADB2** - Relational database implemented by Go, worth learning
      • EiBlog - Blog
      • pan-light - Baidu network disk client with unlimited speed, developed on the basis of Go + Qt5
      • BaiduPCS-Go - Baidu Network Drive Client (command line)
      • daily-warm - Send regular emails to people you care about every day
      • pipe - blogging platform
      • mdr - Markdown reading tool under the command line
      • golinks - Create custom bookmarks, commands, searches and more
      • Liandi Notes - Application for desktop notes
      • wayback - Website snapshot backup
      • bbs-go - open source community
      • OpenSCRM - Enterprise WeChat traffic management system for private domains based on Go and React
    • Static Site Generator

  • Learning Content

    • Static Site Generator

      • 1m-go-websockets - This project shows how to write a server in Go that has over a million "websockets"-1-GB- server can serve
      • By example - Learn "By example".
      • IAM - Identity and Access Management System (teaching project)
      • 100-Go Mistakes - 100 common Go Mistakes
  • Open source library

    • Web Framework

    • Business Framework

      • YAO - Use JSON to create database models, write API interfaces and describe the application engine of the management background interface
      • GoAdminGroup/go-admin - Rapid development framework for background administration, similar to Laravel-Admin
      • wenjianzhang/go-admin - Background framework based on Gin + Vue
      • gin-vue-admin - Background framework based on Gin + Vue
      • goxygen - A full stack application builder based on Go, React and MongoDB technologies
      • nging - General framework for managing the Go language background
      • PocketBase - a single file backend service development framework with background management panel, file and permissions management and built-in SQLite database, using Dart and JS SDK for Rapid supports development of APP
    • Project Skeleton

    • DDD Framework

    • TCP Frame

      • zinx - TCP Concurrent Server Framework
    • Middleware

      • Negroni - Web middleware
      • csrf - CSRF middleware
      • handlers - A collection of useful handlers for Go's `net/http` package
    • Concurrency

    • Command Line

      • urfave/cli - tool for building command line programs
      • **Cobra** - command line buildpack
      • flaggy - command parameter analysis
      • pflag - Command line parameter handling
      • kong - command line parsing
      • clop - command line parsing package
      • go-flags - parsing of command line parameters
      • mow.cli
      • go-arg - Parses command line parameters based on structure tag
      • progressbar - print a progress bar on the terminal
      • cheggaaa/pb - Terminal progress bar
      • mpb - supports multiple progress bars
      • Color - color of command line text
      • gookit/color - command line color library
      • termui - Terminal Dashboard
      • tui - Terminal UI
      • termenv - Extended ANSI style and color support for terminal applications
      • asciigraph - renders ASCII characters in the terminal
      • spinner - A controller that covers 70+ icons or progress bars
      • tablewriter - Output table content in terminal
      • PIXterm - Drawing in command line terminal
      • WTF - a command line information dashboard that can customize the display content
      • termdash - Dashboard system based on Go Terminal
      • bubbles - TUI components
      • bubbletea - TUI framework
      • PTerm - supports displaying terminal output such as charts, tables, progress bars, trees, etc.
      • Lipgloss - Terminal layout, style
      • Gum
      • glow - Terminal rendering displays markdown
      • tview - Terminal UI
      • ASCIIPlayer - Output image or video via ASCII in terminal, supports PNG, JPEG, GIF, MP4, AVI and other formats
      • go-pretty - terminal rendering table, list, progress bar, etc.
      • gosu - Run scripts with specific user rights
      • gotop - similar top system monitor display
      • go-colorable - Colorable Writer for Windows
      • go-isatty - TTY environment assessment
      • fzf - Terminal fuzzy query artifact, supports multiple platforms
      • go-daemon - daemon process package
      • go-prompt - Interactive input from the command line
      • peco - Interactive filter tool
      • pty - PTY for Go
      • vtclean - Parses plain text from terminal output string
      • Survey - interactive input
    • Terminal Tools

      • vgrep - `grep` which supports scroll pagination
      • GoTTY - Real-time sharing via web-based command line
      • Jump - Quickly jump into the directory according to the habit
      • GoFish - A cross-platform software management tool inspired by [Homebrew](https://brew.sh) supporting Linux and Windows
      • viddy - Improved `watch` command
      • miller - a sed, awk, cut, join and sort-like tool for manipulating data based on named indexes
      • assh - SSH extension tool
      • duf - better disk usage tool than `df`
    • Redirect

    • The Internet

      • DNS - DNS library
      • CoreDNS - DNS servers
      • FrankenPHP - PHP application server
      • GoReplay - Traffic capture and replay
      • Sharingan - Didi open source traffic recording and playback tool
      • Glorp - CLI tool for HTTP interception and replay
      • torrent - BitTorrent related tool library
      • rain - Bittorrent client and library
      • httpteleport - Teleports 10Gbps HTTP traffic over 1Gbps networks
      • FIND3 - WiFi device detection
      • SubFinder - subdomain discovery tool
      • ggz - short URL service
      • httpstat
      • go-getter - can download files or directories from different sources using URL as main input form
      • go-netty - network framework
      • gnet - Event driven Go network framework
      • netpoll - Non-blocking I/O Net-Library focused on RPC scenarios
      • yamux - multiplexers
      • sftp - SFTP support for the "go.crypto/ssh" package.
      • goftp - FTP client
      • evio - Event driven network framework (reactor mode)
      • gaio - Event driven network framework (Proactor mode)
      • httpretty - Issues HTTP requests on the terminal
      • blocky - Block ads as LAN DNS proxy
      • lossy - simulates bandwidth, latency and packet loss for net.PacketConn and net.Conn interfaces
      • go-libp2p - P2P
      • go-ipfs-api - IPFS
      • gomobile-ipfs - Provide IPFS network access support for mobile devices
      • go-multiaddr - multiaddr
      • kcp-go - Reliable UDP communication package
      • gliderlabs/ssh - Just create an SSH server like `net/http`
      • netaddr - Processing of network addresses
      • sx - command tool for scanning networks
      • echoip - IP address lookup service
      • EasyTCP - TCP server framework
      • GoPacket - network capture packet capture
      • croc - transfer files between two computers
      • cmux - monitor the same port, start multiple log services
      • GeoIP2 Reader for Go - Parsing and reading of MaxMind GeoLite2 and GeoIP2 databases
      • go-ldap
      • GLAuth - LDAP server
      • gldap - LDAP service
      • snail007/goproxy - high performance proxy server implemented by golang
      • ProxyPool - Collect free proxy resources to provide effective IP proxy for crawlers
      • frp - A high performance reverse proxy application that can be used for intranet penetration
      • Pomerium - identity-based reverse proxy
      • V2Ray
      • V2Fly - Community version of V2Ray
      • Tailscale - WireGuard solution
      • elazarl/goproxy - HTTP proxy
      • oxy - Go middleware for HTTP servers and proxies
      • ouqiang/goproxy - Go HTTP(S) proxy library, supports man-in-the-middle proxy to decrypt HTTPS
      • Clash - Multi-platform proxy client supporting multiple protocols
    • HTTP Print Test

    • WebSocket

      • gorilla/websocket
      • websocketd - A one-click command line tool for creating WebSocket servers developed in Go
      • ws - WebSocket development kit
      • melody - WebSocket service framework
      • neffos - A fast and extensible WebSocket framework
      • fastws
    • Instant Messages

      • Centrifugo - Real-time messaging server that can be used in conjunction with application backends written in any language
      • goim - supports clustered IM and real-time push services
      • Tinode - Instant messaging server, transported via protocols like websocket/JSON or gRPC/TCP
      • WebRTC - WebRTC implementation
      • Berty - Secure peer-to-peer communication software
      • Keybase - Instant messaging tool Keybase Full Platform Client
    • Gateway

    • Serialization

    • Unzip

      • snappy - Snappy for Go
      • cae - implement ZIP/TAR.GZ decompression
      • archiver - Unpack archive with multi-format support
      • compress - Optimized compression packages
      • Brotli
    • RPC

    • Post Office

    • Message Queue

      • NSQ - Real-time distributed messaging platform
      • NATS - cloud-native messaging middleware
      • amqp - AMQP 0.9.1 client
    • Files/Storage

      • MinIO - object storage server
      • rclone - Sync files between different cloud storages
      • Syncthing - File synchronization
      • fsnotify - File system monitoring tool
      • reflex - monitors file changes and executes commands
      • gohttpserver - HTTP static file server
      • XLSX - Excel reading and writing package
      • gopdf - PDF generation
      • rsc/pdf - PDF reader
      • go-fastdfs - Distributed file storage service
      • Dragonfly - P2P based distributed file system
      • filetype - File type and MIME detection
      • Afero - file editing package
      • fsync - file/directory synchronization
      • filebrowser - web file browser
      • Bigfile - file transfer management system
      • go-app-paths - Get directory files across platforms
      • copy - copy folder
      • lakeFS - Git-like file object storage
      • Duplicacy - a lock-free cloud backup tool that supports almost all storage methods
      • CasaOS - family cloud system
    • Template Engine

    • Code Generation

      • jennifer - Go code generation
      • ifacemaker - generates an interface based on the structure method
      • gg - Go code generation
      • ChimeraCoder/gojson - Generate structure from JSON
      • db2struct - Generate structure according to table structure
      • smallnest/gen - Generate structure by table structure
      • xo - Automatically generate Go code according to table structure or query statement
    • Word Processing

    • Documentation

    • Mathematical Calculations

      • decimal - Solve the problem of precision of floating point calculation
      • fixed
      • apd - decimal pack
      • mathfmt - Convert LaTeX syntax comments to math formula format
      • q - quantum computer simulator
    • Appointment Time

      • now
      • when - natural datetime parsing
      • Carbon - Go implementation of the Carbon time processing library
      • strftime - time formatting
      • dateparse - Parses all unknown time strings in format
    • Construction

    • Crawlers

      • Crawlab - Golang based distributed crawler management platform, supports Python, NodeJS, Go, Java, PHP and other programming languages and multiple crawler frameworks
      • Colly - web crawler framework
      • go_spider
      • Muffet - Website link checker
      • Geziyor - A fast crawler framework that supports JS rendering
      • Apollo - a crawler tool
      • Ferret - Declarative web scraping
      • gocrawl
      • Antch
      • katana - crawler and spider framework
    • Database

      • pingcap/parser - SQL parsing compatible with MySQL
      • xsqlparser - SQL parsing
      • sqlparser - SQL parsing
      • vitess-sqlparser - SQL parsing
      • dbml-go - [DBML](https://github.com/holistics/dbml) Analysis
      • go-saga - Saga distributed transaction implementation
      • usql - A command line tool that supports almost all SQL and NoSQL databases
      • GORM - GORM V2
      • GORM V1
      • gorm2sql - generate table creation statement according to model struct
      • gorm-sharding - SQL interception, AST parsing, sub-table routing, self-increasing primary key stuffing based on conn layer, transparent to users
      • Xorm
      • XormPlus - A custom enhanced version of Xorm
      • GoRose
      • sqlx - `database/sql` extension pack
      • dbq - database operations
      • gendry - Didi open source SQL builder
      • ozzo-dbx
      • Squirrel - Fluent SQL Builder
      • qb - the database toolkit for go
      • redigo - Redis client
      • globalsign/mgo - The MongoDB driver for Go
      • kingshard - MySQL proxy
      • SOAR - an automated tool for optimizing and rewriting SQL
      • SQLE - SQL Audit Tool
      • Vitess - A database solution for provisioning, scaling and managing large clusters of MySQL instances
      • gh-ost - GitHub open source tool to change MySQL table structure online
      • SQLer - Write APIs with direct SQL queries without problems, let's think about SQL
      • gocraft/dbr
      • Gaea - Xiaomi open source database middleware based on MySQL protocol
      • OctoSQL - SQL query tool supporting multiple databases
      • goose - database migration tool
      • migrate - database migration tool
      • dbmate - database migration tool
      • godb - a Go query builder and struct mapper
      • go-nulltype
      • SQLittle - Read in SQLite files
      • Bifrost - Heterogeneous middleware to sync MySQL with Redis, ClickHouse and other services
      • elasticsql - Convert SQL to Elasticsearch DSL
      • POP - A database ORM tool based on the [sqlx](https://github.com/jmoiron/sqlx) package
      • REL - Modern database access layer for Go
      • RDB - Redis RDB file parsing and generation tool, supports converting JSON, converting AOF, finding big key, generating RDB files and drawing storage flame diagrams, etc.
      • Bytebase - Web-based, zero-configuration and zero-dependency database schema modification and version control management tool
      • Go-MySQL Driver - MySQL driver
      • go-mssqldb - MSSQL driver
      • pq - PostgreSQL driver
      • mongo-go-driver - Go language driver, officially produced by MongoDB
      • clickhouse-go - ClickHouse's official Go voice client
      • go-sqlite3 - SQLite3 driver
      • gohbase - HBase client
      • etcd - Distributed KV storage
      • InfluxDB - time series database
      • tstorage - time series database
      • Thanos - Prometheus support for simplified deployment, high availability and distributed storage
      • CockroachDB - Distributed SQL database
      • Cayley - graph database
      • RadonDB - A new generation of distributed relational databases based on MySQL
      • TiDB - Distributed relational database compatible with MySQL protocol
      • AresDB - Uber's open-source GPU-driven storage and query engine for real-time analytics
      • leveldb - Go implementation of LevelDB
      • Dgraph - Distributed graph database
      • rqlite - A lightweight distributed relational database based on SQLite
      • gaeadb
      • BadgerDB - KV database, supports ACID transactions
      • LBADD - Distributed SQL database implemented in Go
      • go-memdb - In-memory database based on immutable radix trees
      • VectorSQL - DBMS database for IoT and Big Data, similar to ClickHouse
      • BuntDB - A memory-based KV database that supports disk persistence and ACID transactions
      • Tile38 - GEO database
      • Redcon - A custom Redis service compatible with the Redis protocol, using BuntDB and Tile38 for storage
      • Dolt - Operate database like Git
      • LinDB - Distributed time series database
      • mandodb - an example project, the author introduces how to implement a small time series database from scratch
      • go-mysql-server - A database engine that analyzes MySQL protocol and optimizes SQL
      • Milvus - vector database
      • FerretDB - MangoDB alternative
      • mgo
      • mgo user guide
    • Cache

      • wukong - full-text search engine
      • go-elasticsearch - Official ES Client
      • elastic - Elasticsearch client
      • gse - word segmentation in Go language
      • sego - Go to Chinese word segmentation
      • gojieba - The Go language version of Chinese word segmentation for "破巴"
      • Riot - full-text search engine
      • simplefts - super simple full-text search engine implementation
      • Blast - full-text search (`Archived`)
      • Fuzzy Search - Text fuzzy search
      • Bluge - Text segmentation
    • Form

    • Auth

    • Encrypt And Decrypt

      • 2fa - Two-factor authentication on the command line
      • age - file encryption tool (library)
    • Video

      • goav - FFmpeg video processing
      • lal - live streaming network transmission server
      • bililive-go - live recording tool
      • screego - Share developer screen via browser
      • livego - live server
      • Monibuca - streaming server development framework
      • olive - supports live recording on Huya and other platforms
    • Graphics Processing

      • Barcode - barcode/QR code generator
      • picfit - Image editing, cropping, management server
      • besticon - favicon service
      • Caire - image editing library
      • Imaging - imaging library
      • gocaptcha - verification code generation
      • base64Captcha - verification code
      • go-is-svg - Check if it is an SVG image
      • identicon - Generate nice random avatar for user based on arbitrary data like user's IP, mailbox name etc.
      • prominentcolor - Identify the main color of an image
      • dchest/captcha - generates and verifies image or audio captcha
      • bimg - image processing
      • imaginary - image processing service
      • Primitive - Draw graphics with primitive geometry
      • orly - create your own O'RLY animal book cover
      • smartcrop - Smart cropping of images
      • gift - image filter
      • Germanium - Generate images for code
      • Go Graphics - 2D image rendering
      • Formulae - Mathematical formula analysis, calculation, chart creation
      • imager - image processing server
      • Triangula - Add a triangular filter to the image
      • D2 - A charting scripting language that converts text to graphics
      • ImGo - Image processing library with concise and chain calls
      • go-face - face recognition
      • gmfs - image editing, cropping, management server
    • Charts

    • Build And Compile

      • **Mage** - a Make/Rake-like build tool using Go
      • **GoReleaser** - Tool for Go multiplatform binary packaging and homebrew release support
      • goxc - Cross-platform compilation tool (Since version 1.5 has built-in cross-compilation, it is no longer maintained)
      • Task - `Make`-like build tool
      • codegangsta/gin - hot compilation tool
      • gowatch - hot compilation tool
      • Fresh - hot compilation tool
      • dh-make-golang - Automatically builds Debian packages
      • gobinaries - Compile and install programs written in Go without installing Go
      • NFPM - deb, rpm, apk and other packaging tools
      • Gox - Go to the cross compilation tool
      • pkger - Package static files into Go binaries
      • mewn - Static files are embedded and packaged in binaries
      • go.rice
      • go-bindata - Converts static files to Go code files
      • vfsgen - Pack static files into type "http.FileSystem" for access
      • packr
      • static - static file embedding
    • Elegant Upgrade

    • Code Analysis

      • reviewdog - code review robot
      • revive - code inspection analysis
      • **GolangCI-Lint** - Analysis tool to check code quality
      • errcheck - detects unhandled errors (Errors)
      • Staticcheck - A set of static Go code analysis tools
      • Golint - Google's official code quality check tool
      • go-critic
      • gocloc - Statistics on the number of lines of code by language
      • coca - code statistics analysis
      • **Go Report Card** - Go project quality analysis report tool
      • ddsv-go - deadlock detection tool
      • golang/perf - official quantitative performance analysis tool
      • GoPlantUML - Generate PlantUML class diagrams for Go projects
      • shotizam - Analyzing the size of Go binaries and outputting to SQLite3
      • goconst - Finds repeating strings that can be replaced with constants
      • sploit - library to support binary analysis and usage
      • perf - performance utilities for Go
      • fgprof - Go to the profiling tool
      • statsview - Visual analyzer for real-time Go runtime stats
      • codesearch - code search tool
      • gosec - Code security check tool
      • gokart - Static code analysis tool
      • gofumpt - `gofmt` advanced code formatting tool
      • NoVerify - PHP code analysis tool
    • Debugging

      • **go-spew** - variable printing tool
      • **Delve** - debug tool
      • gdlv - Delve interface version
      • Weaver - Tracking Go program execution links
      • repr - Variable printing tool
      • pp - tool for printing color variables
      • ffmt - Variable printing tool
      • gops - Go program monitoring and debugging tool officially developed by Google
      • pprof
      • Litter
      • RDebug - A handy tool for RD R&D, self-testing and debugging, open source by Didi
      • debugcharts - Visual memory usage debugging tool
      • gcvis - Visualize gctrace in real time
      • package/profile
      • statsviz - View runtime statistics of Go application (GC, MemStats, etc.) in real-time in browser
      • autopprof - automatic profiling pprof
      • stack - Capture, edit and format call stack information
      • pretty - Print variable
      • go-deadlock - Include `(RW)Mutex` and provide deadlock detection
      • mmcloughlin/profile
      • gcnotifier - notify when GC occurs
      • grmon - command line monitor showing goroutines
      • valast - outputs the `go/ast` structure of variables, similar to PHP's `var_export` function
      • lensm - Go assembly and source code comparison display tool
    • Test

      • GoConvey - Unit testing framework with web interface
      • GoMock - mock testing framework created by Google
      • GoStub
      • Monkey - (**Archived**) Monkey patching in Go
      • gomonkey - monkey patch, stack functions, variables etc. to facilitate unit testing, fork of [Monkey](https://github.com/bouk / Ape)
      • SuperMonkey - Make private methods testable
      • Ginkgo - BBD test framework
      • fperf - pressure test tool
      • gocheck
      • Testify
      • gotests - Automatically generate test files based on the source code
      • TestSQL - Create test data based on a SQL statement
      • httpmock - HTTP mock
      • Goblin - BDD testing framework
      • go-faker/faker - Struct Data Fake Generator
      • gofakeit - random data generator
      • dmgk/faker
      • go-tprof - Tool for generating package test reports
      • go-fuzz - randomized testing for Go
      • gofight - Testing the API handler
      • sqlmock - SQL tests
      • sqlbench - SQL
      • silk - interface tests based on markdown
      • gock - HTTP mock test
      • godog - Go version of Cucumber BDD testing framework
      • endly - E2E (end-to-end) tests
      • is - Mini testing framework
      • Terratest - Infrastructure tests like Docker
      • agouti - Web driven acceptance testing framework
      • httpexpect - End-to-end framework for HTTP and REST testing
      • gocov - test coverage
      • miniredis - Redis data test
      • htmltest - HTML test
      • gnomock - Go code testing framework without mockery
      • gunit - framework for testing xUnit style
      • Quick Test
      • go-cover-treemap - Converts coverage test results to treemap
      • vektra/mocky - mock code autogenerator
    • Error Handling

      • Error
      • errorx
      • errwrap - Go tool for wrapping and debugging with new `%w` verb directive
      • erris - linters for "errors.Is" and "errors.As".
      • eris - aims to give you more control over error handling through error packaging, stack traces and output formatting
      • errlog - Use static and stack trace analysis to quickly determine which function call caused the error
      • juju/errors
      • merry - support stack, status code error handling
      • cockroachdb/errors - A powerful alternative error handling package for `errors` and `github.com/pkg/errors`
      • go-multierror - Support error list
    • Security

      • Kunpeng - Open source POC detection framework
      • nmap - Security audit tool `nmap` development kit
      • Hetty - HTTP security research toolkit, HTTP proxy interception with web interface and proxy log viewer
      • Fibratus - Windows kernel exploit and tracking tool
      • Secure - HTTP security middleware
    • System Message

      • go-hardware - a package that collects a bunch of information about hardware
      • cpuid - CPU information
      • gopsutil - `ps` function pack
      • go-sysinfo - system information
      • go-locale - Cross-platform speech recognition library
      • go-ps - System process information
      • psgo - `ps` command implementation
      • ghw - Hardware information
    • UUID

      • go.uuid - UUID library
      • SEQSVR - Distributed ID generation service implemented by Go + MySQL
      • google/uuid - Google's open source UUID package
      • gofrs/uuid
      • Snowflake - Twitter Snowflake IDs
      • sonyflake - Sony's version of Twitter's Snowflake
      • ulid - Universally Unique lexicographically sortable identifier
      • ksuid - K-sortable globally unique IDs
    • Logs

    • Monitoring

      • OpenFalcon - Xiaomi's open-source surveillance system
      • Prometheus - service monitoring system and time series database
      • Grafana - Analysis and monitoring platform, supports Graphite, Elasticsearch, OpenTSDB, Prometheus, InfluxDB and other data sources
      • grabana - Quickly create Grafana dashboards with Go code
      • TeaWeb - A visually intelligent web server that integrates static resources, caching, proxy, statistics and monitoring
      • Jaeger - Distributed tracing system
      • go-osstat - statistics of system indicators
      • mymon - Monitoring MySQL operation
      • PingMe - A service availability alert command tool supporting multiple messaging platforms
      • supervisord - Go language implements supervisor
      • graafterm - Metric dashboards on the terminal
    • Statistical Analysis

      • Fathom - Website statistics
      • Veneur - Real-time distributed data processing pipeline
      • gonum - in connection with scientific computing
    • Container Technology

      • moby - Docker
      • Rancher - Enterprise-grade, full-stack container management platform
      • Gorsair
      • docui - TUI client for Docker
      • Skopeo - image management tool
      • Buildah - A tool for building "OCI" container images
      • go-docker - Implementation of Docker core functions in Go
      • Packer - lightweight image definition tool
    • Cluster Management

      • Nomad - cluster manager and scheduler
      • OpenShift Origin - Containerized software solution developed by Red Hat
      • kubernetes - management platform for scheduling containers
      • k0s - the smallest k8s distribution
      • KubeEye - detects various issues on Kubernetes through configuration rules
      • endpoints-operator - 4-layer LB with inspector for K8S internal services to access external services
    • Machine Learning

      • goml - machine learning library
      • GoLearn - an out-of-the-box machine learning library
      • glow - An easy-to-use distributed computing system
      • Gobot - language library for robotics and physical computers
      • Olivia - Neural Networks
      • Pico - Pure Go face recognition library for object recognition paper based on pixel intensity comparison
      • tfgo - Tensorflow in Go
      • Prophecis - One-stop cloud-native machine learning platform developed by WeBank in-house
      • AID - Operations Platform for Machine Learning, Discovery, Deployment, Optimization
      • SQLFlow - SQL engine + AI engine
    • Algorithm

      • GoDS - Go implements various data structures
      • Dragonboat - Raft consensus algorithm library for multiple groups
      • eliben/raft - Raft algorithm
      • hashicorp/raft - Raft algorithm
      • Graft - Raft algorithm
      • golang-lru - implementation of the LRU algorithm
      • tinylru
      • finn - Fast **raft** framework using Redis protocol for Go
      • xorfilter
      • priyankchheda/algorithms - Go language implementation of various algorithms
      • meow - meow hash
      • basalt - powerful, distributed, dedicated, space-optimized bitmap service to avoid misjudgments by Bloomfilter and CuckooFilter
      • go-blurhash - BlurHash, a hash algorithm for blurring images
      • xxhash - implementation of the xxHash hash algorithm
      • go-multihash - Implementation of various hash algorithms
      • memberlist - A development kit for cluster membership management and member failure detection based on the Gossip protocol
      • Backoff - Exponential backoff
      • FSM - finite state machine
    • Data Structure

    • Addiction Injection

      • go-autowire - Automatic generation with annotations [wire](https://github.com/google/wire) - Dependency injection
      • dig
      • FX
    • JSON

      • GJSON - JSON interpreter
      • SJSON - JSON modification tool
      • fastjson - fast JSON parser and validator for Go
      • jsonparser
      • ffjson
      • json-iterator - Didi open source JSON parser
      • gojsonq - JSON/YAML/XML/CSV and other data queries
      • easyjson
      • go-jsonc - Converts annotated JSON to uncommented
      • jin - JSON manipulation toolkit with standard library and functions like "tidwall/gjson" and "tidwall/sjson".
      • hujson - supports JSON decoding for annotations
      • pkg/json - JSON decoder
      • ColorJSON - Print color JSON in terminal
      • jid - Tool to parse and read JSON data
      • jsonc - supports comments and commas
      • sonic - Bytedance open source JSON parser and modifier
      • go-json
      • jsonquery - XPath syntax query JSON
      • fx - command line JSON display
    • Dependency Management

      • **goproxy.io** - `GOPROXY` proxy service
      • goproxy.cn - Proxy service more suitable for home users
      • Gopm - Go package management tool
      • govendor - package management tool for vendors
      • gom - Management tool for package versions
      • rvflash/goup - Check if the package version is updated
      • Athens - "GOPROXY" proxy service
      • owentheal/goup - Switch to managing multiple versions
    • Microservices

      • Istio - a large microservice systems management tool
      • goa
      • Micro - Microservice tools
      • Go Micro - Microservice framework
      • Go-Kit - Go microservice toolset
      • GoKit CLI - Go Kit framework
      • gogo
      • go-chassis
      • kites
      • Temporal - microservice orchestration platform
      • Serf - service orchestration management platform
      • Open Policy Agent - general policy engine, CNCF incubation project
      • gizmo - microservice toolset
      • MOSN - Cloud-native network data plane for edge and service mesh
      • Erda - PaaS that provides enterprise DevOps, microservice governance and multi-cloud management
    • Serverless

      • OpenFaaS - Serverless Functions Made Easy (FaaS framework for function services)
      • faasd - Lightweight FaaS engine
      • fn - Event-driven FaaS
      • riff - Kubernetes-based FaaS
      • Nuclio - Serverless framework for real-time events and data
      • Flogo - Event driven serverless framework
      • Dapr - Microsoft's open-source microservice components for cloud and edge computing
      • Fission - Serverless on Kubernetes
      • pulumi
      • Knative
      • fx
      • IronFunctions
      • scholz/faas - Make the function of any package an HTTP interface
    • Developer

      • act - run locally [GitHub Actions](https://developer.github.com/actions/)
    • Continuous Integration/Delivery

      • CDS - Continuous Integration Service
      • gopub
      • CodePub
      • syncd - code deployment tool
      • Cyclone - continuous integration and release platform
      • tbls - CI-friendly database documentation tool
      • Woodpecker - Fork from Drone
    • Git

      • gogs - Git server similar to GitLab
      • Gitea - Git server forked from gogs
      • go-git - Git operations implemented in Go
      • gitin - Commit/Branch/Status Explorer for Git
      • git-o-matic - a tool for monitoring git warehouse changes and automatic pull/push
      • gitbase - Query Git logs in SQL
      • git-chglog - Management tool "CHANGELOG".
      • chglog - Management tool "CHANGELOG".
      • lazyhub - Terminal UI client for GitHub
      • goaction - Writing GitHub actions in Go
      • bit - Git command extensions with support for auto-completion of file and branch names, command and flag suggestions
      • go-github - GitHub API operations library
      • git2graph - Generate a structure diagram based on the commit record of the git warehouse
      • lazygit - Git terminal UI
      • gh-dash - GitHub CLI (`gh`) nice terminal panel
    • Current Limiter

    • Translator

      • TinyGo - A Go compiler for microcontrollers, WebAssembly and command line tools
      • minigo - A Go compiler from scratch
      • llir/llvm - LLVM compiler
      • jit-compiler - `JIT` compiler
      • Go+ - Qiniu Cloud open source data science oriented language, fully compatible with Go language
    • Interpreter

      • **participle** - Generic custom grammar parsing package
      • GopherLua - VM and compiler for Lua in Go
      • go-lua - A Lua VM in pure Go
      • DCLua - Go Lua Compiler and VM
      • otto - JavaScript interpreter
      • goja - ECMAScript 5.1(+) implementation
      • v8go - Run JavaScript from Go
      • gpython - Python interpreter for Go
      • Grumpy - Convert Python to Go code, open source by Google
      • starlark-go - Starlark in Go
      • avo - x86 assembler builder
      • wagon - WebAssembly interpreter
      • GopherJS - Compile Go code to JavaScript code
      • properties - Java properties scanner for Go
      • jvm.go - JVM
      • gobasic - A BASIC interpreter written in Golang
      • golisp - `Lisp` interpreter
      • dst - Go Decorated Syntax Tree
      • mvdan/sh - shell parsing, formatting, interface
      • tdewolff/parse - general purpose lexical analyzer Lexer with built-in support for parsing HTML/CSS/JSON/XML/JS/SVG syntax
      • Joker - Clojure
      • z7zmey/php-parser - PHP AST syntax parsing
      • goridge - High performance PHP to Golang IPC bridge
      • VKCOM/php-parse - PHP AST parsing
      • CUE - Configure Unify Execute (validate and define text-based and dynamic configuration)
      • cel-go - Common Expression Language (Go implementation of CEL)
      • Math-Engine - Mathematical expression analysis and calculation engine library implemented in Go, very suitable for learning syntax analysis
      • Gval - expression calculation
      • Expression Parsing
      • goexp - Recursive descent expression parser in Go
      • goastch - Go to the AST syntax analyzer
      • tdop
      • swallow
      • Anko
      • Tengo - scripting language written in Go
      • V - language written in Go
      • kumarUjjawal/bison
      • Monkey
      • govaluate
      • elvish - Interactive shell language
      • QLBridge - Go to the SQL runtime engine
      • YQL - SQL WHERE style rules engine
      • Flux - InfluxDB data language
      • Spiker - A simple regular expression executor written in Go, supporting custom functions and process control, suitable for scenarios with complex business rules
      • eng/go-php - PHP bindings for Go
    • Editors

    • Runner

      • nodebook - Run multiple languages online
      • go-pry - Interactively type and run Go code in terminal like Python, R, PHP, etc
    • Query Language

      • graphql - GraphQL implementation in Go
      • graphql-go
      • GQLEngine - based on the graphql-go implementation
      • RQL - REST resource query language
      • Thunder - GraphQL service building framework
      • gqlgen - package for creating GraphQL servers
    • Desktop Development

      • Lorca - HTML5 desktop application written in Go that relies on Chrome for UI rendering but does not package Chrome into the application
      • walk - Windows GUI toolkit
      • go-gtk - Go bindings for GTK
      • andlabs/ui - On-board GUI library for Go
      • fyne - Material design style GUI
      • go-gl - Go bindings for OpenGL (generated via glow)
      • therecipe/qt - Qt-based cross-platform UI package
      • giu - Cross-platform GUI framework based on [Dear ImGui](https://github.com/ocornut/imgui)
      • go-app - A WebAssembly framework for building GUI apps using Go, HTML and CSS
      • wails - Build desktop applications using Go and web technologies
      • chromedp - Chrome DevTools browser-driven protocol implemented in pure Go language that can be used in crawler, anti-crawler, testing and other scenarios
      • Rod - A devtools driver designed to simplify automation and crawling that uses the browser's programmatic devtools interface to control the browser
      • go-astilectron - Cross-platform development based on Electron
      • Gio - Cross-platform UI framework for mobile applications
      • nucular - Gio based implementation
      • GoVCL - cross-platform GUI package
      • vugu - WebAssembly UI framework
      • GoGi - 2D/3D GUI framework
      • systray - Cross-platform support for menu bar management
      • go-flutter - Bind Flutter to desktop applications
      • NuxUI
      • pkg/browser - Open files, URLs in browser
      • gon - Signing and notarization for macOS
      • xbar - macOS menu bar management based on [Wails.app](https://github.com/wailsapp/wails)
    • Mobile Phone

    • Coroutine/Thread

      • ants - goroutine pool
      • tunny
      • go-workers - Safely run a group of workers simultaneously, input and output across channels
      • Machine - Coroutine management inspired by errgroup.Group
      • Thread
    • Task/Timer

      • RxGo - Go version [ReactiveX](https://github.com/ReactiveX), simple and convenient processing of asynchronous data streams
      • Grift - Go-based task runner
      • cron - a cron library on the go
      • goCron - A job scheduling package from Golang
      • jobrunner
      • CurlyQ - Library for processing background tasks
      • overtalk/task - task management and execution, supports custom number of iterations
      • PPGo_Job - time management system for tasks
      • gocelery - Celery's Go language implementation
      • dkron - Distributed task scheduling system
      • Grit - Task management based on MultiTree implementation
      • Asynq - Asynchronous distributed task queue
      • cronsun - distributed task system
    • Stream Processing

    • WeChat

      • wechat - WeChat SDK for Go
      • wechat-go - Go implementation of WeChat Web API
    • SDK

    • Blockchain

      • Hyperledger Fabric - Hyperledger based on Blockchain
      • go-ethereum - Official Go implementation of the Ethereum protocol
      • bbgo - Framework for cryptocurrency trading, written in Go
      • btcd - Bitcoin implementation
    • Development Aid Package

      • cvt - Arbitrary data type conversion, support for custom types, extract structure fields and values
      • copier - Copy values between structures
      • cast - data type conversion
      • diff - structure and value comparison
      • go-extend
      • com - Toolkit
      • php2go - 140+ PHP function packs implemented in Go
      • gommon - Common packages for Go
      • **reflect2** - Reflect API with no runtime Reflect.Value cost
      • mapstructure - convert map value to structure
      • naza - base library for Go language
      • automaxprocs - Automatic setting of `GOMAXPROCS`
      • c2go - Tool to convert C code to Go code
      • rnm - code refactoring help
      • memviz - graphical data structure
      • underscore.go
      • go-testdeep - Very flexible depth comparison package that extends the Go test package
      • go-model - `struct` operation package
      • concurrent-map - Concurrent secure `map`
      • goleak - Goroutine leak detection
      • guregu/null - "null" processing package for SQL/JSON that provides alternative types
      • stats - Default numeric stats
      • Chronos - static race detector
      • collection - Replace native slice
      • rf - code refactoring tool
      • bytebufferpool - byte buffer pool
      • bpool - byte buffer pool, supports bytes.Buffers
      • go-funk - General functions implemented based on reflection
      • lo - shared functions based on 1.18+ generics
      • juniper - Realize common container, iterator, data flow and other functionality based on generics
      • xstrings - String related functions
    • System Development

      • LinuxKit - Toolkit for building secure, portable and portable operating systems for containers
      • go-systemd - bind systemd
      • gopher-os - A Linux-compatible 64-bit POSIX-style system
      • gouring - implement system calls without relying on CGO
    • Not Categorized

      • go-playground - Go Playground better than the official one
      • Robotgo - Cross-platform golang automation system, controls keyboard and mouse bitmap and reads screen, window handle and global event monitor
      • go-homedir
      • i18n - `i18n` multilingual toolkit
      • go-i18n - multilingual toolkit
      • mcuadros/go-version - Version number comparison
      • go-semver - Semantic versioning
      • semver - Another semantic version
      • hashicorp/go-version
      • Metabolize - Decodes HTML meta tags into a golang structure
      • otp - One-time password utilities
      • CRDT - Implementation of the final consistency algorithm CRDT (Convergent and Commutative Replicated Data Types).
      • script - Makes writing shell-like scripts in Go easier
      • licenseclassifier - identifies the LICENSE type in the file
      • go-license-detector
      • rose - Embed and run Go code in HTML
      • esbuild - JavaScript build packaging tool
      • clipboard - Cross-platform implementation of the clipboard
      • Timeliner - Collect and organize personal data on social networking sites and index them in timelines
      • hc - `HomeKit` platform development framework
      • webhook - webhook service that can run shell commands
      • webhookd - webhook service for shell scripts
      • go-cid - [CID spec](https://github.com/ipld/cid) Go language implementation
      • gorush - APP message notification service
      • EventBus - event bus
      • go-winio - provides interface support for Win32 IO operations
      • clipboard - clipboard
      • fq - reads binary data/files in [jq](https://github.com/stedolan/jq) syntax
      • Paginator - pagination tool
      • sysadmin-utils
      • adresse - address processing library, supports multiple languages
  • Tool

  • Resource Page

    • Not Categorized

  • Go-Organization