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

awesome-go

一个专门收集GO语言相关的工具库
https://github.com/ly2513/awesome-go

Last synced: 17 days ago
JSON representation

Benchmarks

Other Software

  • autobench - Framework to compare the performance between different Go versions.
  • go-benchmark-app - Powerful HTTP-benchmark tool mixed with Аb, Wrk, Siege tools. Gathering statistics and various parameters for benchmarks and comparison results.
  • go-benchmarks - Few miscellaneous Go microbenchmarks. Compare some language features to alternative approaches.
  • go-http-routing-benchmark - Go HTTP request router benchmark and comparison.
  • go-web-framework-benchmark - Go web framework benchmark.
  • go_serialization_benchmarks - Benchmarks of Go serialization methods.
  • golang-micro-benchmarks - Tiny collection of Go micro benchmarks. The intent is to compare some language features to others.
  • golang-sql-benchmark - Collection of benchmarks for popular Go database/SQL utilities.
  • gospeed - Go micro-benchmarks for calculating the speed of language constructs.
  • kvbench - Key/Value database benchmark.
  • skynet - Skynet 1M threads microbenchmark.
  • speedtest-resize - Compare various Image resize algorithms for the Go language.
  • gocostmodel - Benchmarks of common basic operations for the Go language.
  • go-type-assertion-benchmark - Naive performance test of two ways to do type assertion in Go.

Code Analysis

Routers

  • GoCover.io - GoCover.io offers the code coverage of any golang package as a service.
  • Golint online - Lints online Go source files on GitHub, Bitbucket and Google Project Hosting using the golint package.
  • goreturns - Adds zero-value return statements to match the func return types.
  • gosimple - gosimple is a linter for Go source code that specialises on simplifying code.
  • staticcheck - staticcheck is go vet on steroids, applying a ton of static analysis checks you might be used to from tools like ReSharper for C#.
  • unused - unused checks Go code for unused constants, variables, functions and types.
  • apicompat - Checks recent changes to a Go project for backwards incompatible changes.
  • dupl - Tool for code clone detection.
  • errcheck - Errcheck is a program for checking for unchecked errors in Go programs.
  • gcvis - Visualise Go program GC trace data in real time.
  • Go Metalinter - Metalinter is a tool to automatically apply all static analysis tool and report their output in normalized form.
  • go-checkstyle - checkstyle is a style check tool like java checkstyle. This tool inspired by java checkstyle, golint. The style refered to some points in Go Code Review Comments.
  • go-cleanarch - go-cleanarch was created to validate Clean Architecture rules, like a The Dependency Rule and interaction between packages in your Go projects.
  • go-outdated - Console application that displays outdated packages.
  • goast-viewer - Web based Golang AST visualizer.
  • GoLint - Golint is a linter for Go source code.
  • gostatus - Command line tool, shows the status of repositories that contain Go packages.
  • interfacer - Linter that suggests interface types.
  • lint - Run linters as part of go test.
  • unconvert - Remove unnecessary type conversions from Go source.
  • validate - Automatically validates struct fields with tags.
  • tarp - tarp finds functions and methods without direct unit tests in Go source code.
  • goimports - Tool to fix (add, remove) your Go imports automatically.

Conferences

Other Software

E-Books

Other Software

Editor Plugins

Routers

  • Go plugin for JetBrains IDEs - Go plugin for JetBrains IDEs.
  • go-mode - Go mode for GNU/Emacs.
  • go-plus - Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting.
  • Goclipse - Eclipse plugin for Go.
  • gocode - Autocompletion daemon for the Go programming language.
  • GoSublime - Golang plugin collection for the text editor SublimeText 2 providing code completion and other IDE-like features.
  • velour - IRC client for the acme editor.
  • vim-compiler-go - Vim plugin to highlight syntax errors on save.
  • vim-go - Go development plugin for Vim.
  • vscode-go - Extension for Visual Studio Code (VS Code) which provides support for the Go language.
  • Watch - Runs a command in an acme win on file changes.

Go Generate Tools

Routers

  • re2dfa - Transform regular expressions into finite state machines and output Go source code.
  • generic - flexible data type for Go.
  • genny - Elegant generics for Go.
  • gotests - Generate Go tests from your source code.
  • gonerics - Idiomatic Generics in Go.

Go Tools

Routers

  • gb - An easy to use project based build tool for the Go programming language.
  • colorgo - Wrapper around go command for colorized go build output.
  • depth - Visualize dependency trees of any package by analyzing imports.
  • go-pkg-complete - Bash completion for go and wgo.
  • go-swagger - Swagger 2.0 implementation for go. Swagger is a simple yet powerful representation of your RESTful API.
  • OctoLinker - Navigate through go files efficiently with the OctoLinker browser extension for GitHub.
  • richgo - Enrich go test outputs with text decorations.
  • rts - RTS: response to struct. Generates Go structs from server responses.
  • go-callvis - Visualize call graph of your Go program using dot format.

Meetups

Other Software

Software Packages

DevOps Tools

  • Banshee - Anomalies detection system for periodic metrics.
  • Gogs - A Self Hosted Git Service in the Go Programming Language.
  • Wide - Web-based IDE for Teams using Golang.
  • aurora - Cross-platform web-based Beanstalkd queue server console.
  • awsenv - Small binary that loads Amazon (AWS) environment variables for a profile.
  • bombardier - Fast cross-platform HTTP benchmarking tool.
  • bosun - Time Series Alerting Framework.
  • dogo - Monitoring changes in the source file and automatically compile and run (restart).
  • drone-jenkins - Trigger downstream Jenkins jobs using a binary, docker or Drone CI.
  • drone-scp - Copy files and artifacts via SSH using a binary, docker or Drone CI.
  • Dropship - Tool for deploying code via cdn.
  • easyssh-proxy - Golang package for easy remote execution through SSH and SCP downloading via ProxyCommand.
  • Gitea - Fork of Gogs, entirely community driven.
  • Go Metrics - Go port of Coda Hale's Metrics library: https://github.com/codahale/metrics.
  • go-selfupdate - Enable your Go applications to self update.
  • gobrew - gobrew lets you easily switch between multiple versions of go.
  • godbg - Web-based gdb front-end application.
  • gonative - Tool which creates a build of Go that can cross compile to all platforms while still using the Cgo-enabled versions of the stdlib packages.
  • gox - Dead simple, no frills Go cross compile tool.
  • goxc - build tool for Go, with a focus on cross-compiling and packaging.
  • grapes - Lightweight tool designed to distribute commands over ssh with ease.
  • GVM - GVM provides an interface to manage Go versions.
  • Hey - Hey is a tiny program that sends some load to a web application.
  • kala - Simplistic, modern, and performant job scheduler.
  • kubernetes - Container Cluster Manager from Google.
  • manssh - manssh is a command line tool for managing your ssh alias config easily.
  • Moby - Collaborative project for the container ecosystem to assemble container-based systems.
  • Mora - REST server for accessing MongoDB documents and meta data.
  • ostent - collects and displays system metrics and optionally relays to Graphite and/or InfluxDB.
  • Packer - Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.
  • Pewpew - Flexible HTTP command line stress tester.
  • Rodent - Rodent helps you manage Go versions, projects and track dependencies.
  • s3gof3r - Small utility/library optimized for high speed transfer of large objects into and out of Amazon S3.
  • Scaleway-cli - Manage BareMetal Servers from Command Line (as easily as with Docker).
  • sg - Benchmarks a set of HTTP endpoints (like ab), with possibility to use the reponse code and data between each call for specific server stress based on its previous response.
  • skm - SKM is a simple and powerful SSH Keys Manager, it helps you to manage your multiple SSH keys easily!
  • StatusOK - Monitor your Website and REST APIs.Get Notified through Slack, E-mail when your server is down or response time is more than expected.
  • Vegeta - HTTP load testing tool and library. It's over 9000!
  • webhook - Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server.
  • winrm-cli - Cli tool to remotely execute commands on Windows machines.
  • aptly - aptly is a Debian repository management tool.
  • govvv - “go build” wrapper to easily add version information into Go binaries.

Other Software

  • limetext - Lime Text is a powerful and elegant text editor primarily developed in Go that aims to be a Free and open-source software successor to Sublime Text.
  • syncthing - Open, decentralized file synchronization tool and protocol.
  • tsuru - Extensible and open source Platform as a Service software.
  • boxed - Dropbox based blog engine.
  • Cherry - Tiny webchat server in Go.
  • Circuit - Circuit is a programmable platform-as-a-service (PaaS) and/or Infrastructure-as-a-Service (IaaS), for management, discovery, synchronization and orchestration of services and hosts comprising cloud applications.
  • Comcast - Simulate bad network connections.
  • confd - Manage local application configuration files using templates and data from etcd or consul.
  • DDNS - Personal DDNS client with Digital Ocean Networking DNS as backend.
  • Documize - Modern wiki software that integrates data from SaaS tools.
  • fleet - Distributed init System.
  • Go Package Store - App that displays updates for the Go packages in your GOPATH.
  • gocc - Gocc is a compiler kit for Go written in Go.
  • GoDNS - A dynamic DNS client tool, supports DNSPod & HE.net, written in Go.
  • GoDocTooltip - Chrome extension for Go Doc sites, which shows function description as tooltip at funciton list.
  • ide - Browser accessible IDE. Designed for Go with Go.
  • ipe - Open source Pusher server implementation compatible with Pusher client libraries written in GO.
  • JayDiff - JSON diff utility written in Go.
  • Leaps - Pair programming service using Operational Transforms.
  • LiteIDE - LiteIDE is a simple, open source, cross-platform Go IDE.
  • mockingjay - Fake HTTP servers and consumer driven contracts from one configuration file. You can also make the server randomly misbehave to help do more realistic performance tests.
  • myLG - Command Line Network Diagnostic tool written in Go.
  • naclpipe - Simple NaCL EC25519 based crypto pipe tool written in Go.
  • nes - Nintendo Entertainment System (NES) emulator written in Go.
  • Orbit - A simple tool for running commands and generating files from templates.
  • peg - Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator.
  • Postman - Command-line utility for batch-sending email.
  • restic - De-duplicating backup program.
  • rkt - App Container runtime that integrates with init systems, is compatible with other container formats like Docker, and supports alternative execution engines like KVM.
  • Seaweed File System - Fast, Simple and Scalable Distributed File System with O(1) disk seek.
  • shell2http - Executing shell commands via http server (for prototyping or remote control).
  • snap - Powerful telemetry framework.
  • Snitch - Simple way to notify your team and many tools when someone has deployed any application via Tsuru.
  • Stack Up - Stack Up, a super simple deployment tool - just Unix - think of it like 'make' for a network of servers.
  • Tenyks - Service oriented IRC bot using Redis and JSON for messaging.
  • toto - Simple proxy server written in Go language, can be used together with browser.
  • toxiproxy - Proxy to simulate network and system conditions for automated tests.
  • wellington - Sass project management tool, extends the language with sprite functions (like Compass).
  • Juju - Cloud-agnostic service deployment and orchestration - supports EC2, Azure, Openstack, MAAS and more.
  • vFlow - High-performance, scalable and reliable IPFIX, sFlow and Netflow collector.
  • Gor - Http traffic replication tool, for replaying traffic from production to stage/dev environments in real-time.
  • orange-cat - Markdown previewer written in Go.
  • websysd - Web based process manager (like Marathon or Upstart).
  • borg - Terminal based search engine for bash snippets.
  • Docker - Open platform for distributed applications for developers and sysadmins.

<span id="css预处理器-css-preprocessors">CSS预处理器 CSS Preprocessors</span>

<span id="高级控制台用户界面-advanced-console-uis">高级控制台用户界面 Advanced Console UIs</span>

  • c6 - 用Go编写的高性能SASS兼容实现编译器。
  • gcss - Pure Go CSS预处理器。
  • go-libsass - 打包到100%Sass兼容的libsass项目。

<span id="go编译器-go-compilers">GO编译器 Go Compilers</span>

<span id="高级控制台用户界面-advanced-console-uis">高级控制台用户界面 Advanced Console UIs</span>

  • gopherjs - 编译从GO语言转到JavaScript。
  • llgo - 基于LLVM的Go编译器。
  • tardisgo - Golang到Haxe到CPP / CSharp / Java / JavaScript transpiler。

<span id="gui">GUI</span>

<span id="高级控制台用户界面-advanced-console-uis">高级控制台用户界面 Advanced Console UIs</span>

  • app - 使用GO,HTML和CSS创建应用程序的包。支持:MacOS,Windows正在进行。
  • go-astilectron - 使用GO和HTML / JS / CSS(由Electron提供支持)构建跨平台GUI应用程序。
  • go-gtk - Go bindings for GTK.
  • go-qml - Go语言的QML支持。
  • go-sciter - Go bindings for Sciter: the Embeddable HTML / CSS / script engine for modern desktop UI development. Cross platform.
  • goqt - Golang绑定到Qt跨平台应用程序框架。
  • gotk3 - Go bindings for GTK3.
  • gowd - 使用GO,HTML,CSS和NW.js进行快速简单的桌面用户界面开发 跨平台。
  • qt - Go的Qt绑定(支持Windows / macOS / Linux / Android / iOS / Sailfish OS/Raspberry Pi)。
  • ui - 用于Go的平台本地GUI库。跨平台。
  • walk - Windows的应用程序库工具包。