awesome-Char
仓颉语言优秀项目
https://github.com/megatontech/awesome-Char
Last synced: 8 days ago
JSON representation
-
File Handling
-
Advanced Console UIs
- parquet - Read and write [parquet](https://parquet.apache.org) files.
- pdfcpu - PDF processor.
- skywalker - Package to allow one to concurrently go through a filesystem with ease.
- tarfs - Implementation of the [`FileSystem` interface](https://godoc.org/github.com/kr/fs#FileSystem) for tar files.
- vfs - A pluggable, extensible, and opinionated set of filesystem functionality for Go across a number of filesystem types such as os, S3, and GCS.
-
-
Financial
-
Advanced Console UIs
- go-finance - Comprehensive financial markets data in Go.
- accounting - money and currency formatting for golang.
- currency - Handles currency amounts, provides currency information and formatting.
- currency - High performant & accurate currency computation package.
- decimal - Arbitrary-precision fixed-point decimal numbers.
- go-finance - Library of financial functions for time value of money (annuities), cash flow, interest rate conversions, bonds and depreciation calculations.
- go-finance - Module to fetch exchange rates, check VAT numbers via VIES and check IBAN bank account numbers.
- go-finnhub - Client for stock market, forex and crypto data from finnhub.io. Access real-time financial market data from 60+ stock exchanges, 10 forex brokers, and 15+ crypto exchanges.
- go-money - Implementation of Fowler's Money pattern.
- ofxgo - Query OFX servers and/or parse the responses (with example command-line client).
- orderbook - Matching Engine for Limit Order Book in Golang.
- techan - Technical analysis library with advanced market analysis and trading strategies.
- transaction - Embedded transactional database of accounts, running in multithreaded mode.
- vat - VAT number validation & EU VAT rates.
-
-
Forms
-
Advanced Console UIs
- bind - Bind form data to any Go values.
- binding - Binds form and JSON data from net/http Request to struct.
- conform - Keeps user input in check. Trims, sanitizes & scrubs data based on struct tags.
- form - Decodes url.Values into Go value(s) and Encodes Go value(s) into url.Values. Dual Array and Full map support.
- formam - decode form's values into a struct.
- forms - Framework-agnostic library for parsing and validating form/JSON data which supports multipart forms and files.
- gorilla/csrf - CSRF protection for Go web applications & services.
- nosurf - CSRF protection middleware for Go.
- queryparam - Decode `url.Values` into usable struct values of standard or custom types.
-
-
Functional
-
Advanced Console UIs
- fpGo - Monad, Functional Programming features for Golang.
- fuego - Functional Experiment in Go.
- go-underscore - Useful collection of helpfully functional Go collection utilities.
-
-
Game Development
-
Advanced Console UIs
- Azul3D - 3D game engine written in Go.
- Ebiten - dead simple 2D game library in Go.
- engo - Engo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm.
- g3n - Go 3D Game Engine.
- go-astar - Go implementation of the A\* path finding algorithm.
- go-sdl2 - Go bindings for the [Simple DirectMedia Layer](https://www.libsdl.org/).
- go3d - Performance oriented 2D/3D math package for Go.
- gonet - Game server skeleton implemented with golang.
- goworld - Scalable game server engine, featuring space-entity framework and hot-swapping.
- Leaf - Lightweight game server framework.
- nano - Lightweight, facility, high performance golang based game server framework.
- Oak - Pure Go game engine.
- Pitaya - Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK.
- Pixel - Hand-crafted 2D game library in Go.
- prototype - Cross-platform (Windows/Linux/Mac) library for creating desktop games using a minimal API.
- raylib-go - Go bindings for [raylib](http://www.raylib.com/), a simple and easy-to-use library to learn videogames programming.
- termloop - Terminal-based game engine for Go, built on top of Termbox.
- tile - Data-oriented and cache-friendly 2D Grid library (TileMap), includes pathfinding, observers and import/export.
-
-
Generation and Generics
-
Advanced Console UIs
- gen - Code generation tool for ‘generics’-like functionality.
- generis - Code generation tool providing generics, free-form macros, conditional compilation and HTML templating.
- go-enum - Code generation for enums from code comments.
- go-xray - Helpers for making the use of reflection easier.
- goderive - Derives functions from input types.
- gotype - Golang source code parsing, usage like reflect package.
- GoWrap - Generate decorators for Go interfaces using simple templates.
- interfaces - Command line tool for generating interface definitions.
- jennifer - Generate arbitrary Go code without templates.
- pkgreflect - Go preprocessor for package scoped reflection.
- typeregistry - A library to create type dynamically.
- go-linq - .NET LINQ-like query methods for Go.
- efaceconv - Code generation tool for high performance conversion from interface{} to immutable type without allocations.
-
-
Geographic
-
Advanced Console UIs
- geocache - In-memory cache that is suitable for geolocation based applications.
- geoserver - geoserver Is a Go Package For Manipulating a GeoServer Instance via the GeoServer REST API.
- gismanager - Publish Your GIS Data(Vector Data) to PostGIS and Geoserver.
- mbtileserver - A simple Go-based server for map tiles stored in mbtiles format.
- osm - Library for reading, writing and working with OpenStreetMap data and APIs.
- pbf - OpenStreetMap PBF golang encoder/decoder.
- S2 geojson - Convert geojson to s2 cells & demonstrating some S2 geometry features on map.
- S2 geometry - S2 geometry library in Go.
- Tile38 - Geolocation DB with spatial index and realtime geofencing.
- WGS84 - Library for Coordinate Conversion and Transformation (ETRS89, OSGB36, NAD83, RGF93, Web Mercator, UTM).
-
-
Go Compilers
-
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.
- gocontracts - brings design-by-contract to Go by synchronizing the code with the documentation.
- gotests - Generate Go tests from your source code.
- gounit - Generate Go tests using your own templates.
- hasgo - Generate Haskell inspired functions for your slices.
- xgen - XSD (XML Schema Definition) parser and Go/C/Java/Rust/TypeScript code generator.
- gonerics - Idiomatic Generics in Go.
-
-
Gophers
-
Other Software
- Free Gophers Pack - Gopher graphics pack by Maria Letta with illustrations and emotional characters in vector and raster.
- Go-gopher-Vector - Go gopher Vector Data [.ai, .svg].
- gopher-logos - adorable gopher logos.
- gopher-stickers
- gopher-vector
- gophericons
- gopherize.me - Gopherize yourself.
- gophers - Gopher artworks by Ashley McNamara.
- gophers - Free gophers.
- gophers - random gopher graphics.
- gophers - Gopher amigurumi toy pattern.
-
-
Goroutines
-
Advanced Console UIs
- oversight - Oversight is a complete implementation of the Erlang supervision trees.
- ants - A high-performance and low-cost goroutine pool in Go.
- async - A safe way to execute functions asynchronously, recovering them in case of panic.
- breaker - Flexible mechanism to make execution flow interruptible.
- conexec - A concurrent toolkit to help execute funcs concurrently in an efficient and safe way.It supports specifying the overall timeout to avoid blocking and uses goroutine pool to improve efficiency.
- cyclicbarrier - CyclicBarrier for golang.
- go-floc - Orchestrate goroutines with ease.
- go-flow - Control goroutines execution order.
- go-tools/multithreading - Manage a pool of goroutines using this lightweight library with a simple API.
- go-trylock - TryLock support on read-write lock for Golang.
- go-waitgroup - Like `sync.WaitGroup` with error handling and concurrency control.
- goccm - Go Concurrency Manager package limits the number of goroutines that allowed to run concurrently.
- gohive - A highly performant and easy to use Goroutine pool for Go.
- gollback - asynchronous simple function utilities, for managing execution of closures and callbacks.
- goworker - goworker is a Go-based background worker.
- gowp - gowp is concurrency limiting goroutine pool.
- gpool - manages a resizeable pool of context-aware goroutines to bound concurrency.
- grpool - Lightweight Goroutine pool.
- hands - A process controller used to control the execution and return strategies of multiple goroutines.
- Hunch - Hunch provides functions like: `All`, `First`, `Retry`, `Waterfall` etc., that makes asynchronous flow control more intuitive.
- kyoo - Provides an unlimited job queue and concurrent worker pools.
- neilotoole/errgroup - Drop-in alternative to `sync/errgroup`, limited to a pool of N worker goroutines.
- nursery - Structured concurrency in Go.
- parallel-fn - Run functions in parallel.
- pond - Minimalistic and High-performance goroutine worker pool written in Go.
- pool - Limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation.
- queue - Gives you a `sync.WaitGroup` like queue group accessibility. Helps you to throttle and limit goroutines, wait for the end of the all goroutines and much more.
- routine - go routine control with context, support: Main, Go, Pool and some useful Executors.
- semaphore - Semaphore pattern implementation with timeout of lock/unlock operations based on channel and context.
- semaphore - Fast resizable semaphore implementation based on CAS (faster than channel-based semaphore implementations).
- stl - Software transactional locks based on Software Transactional Memory (STM) concurrency control mechanism.
- threadpool - Golang threadpool implementation.
- tunny - Goroutine pool for golang.
- worker-pool - goworker is a Go simple async worker pool.
- workerpool - Goroutine pool that limits the concurrency of task execution, not the number of tasks queued.
- artifex - Simple in-memory job queue for Golang using worker-based dispatching.
-
-
Go Tools
-
Routers
- gb - An easy to use project based build tool for the Go programming language.
- generator-go-lang - A [Yeoman](http://yeoman.io) generator to get new Go projects started.
- colorgo - Wrapper around `go` command for colorized `go build` output.
- depth - Visualize dependency trees of any package by analyzing imports.
- gilbert - Build system and task runner for Go projects.
- go-james - Go project skeleton creator, builds and tests your projects without the manual setup.
- 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.
- godbg - Implementation of Rusts `dbg!` macro for quick and easy debugging during development.
- gothanks - GoThanks automatically stars your go.mod github dependencies, sending this way some love to their maintainers.
- igo - An igo to go transpiler (new language features for Go language!)
- 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.
- typex - Examine Go types and their transitive dependencies, alternatively export results as TypeScript value objects (or types) declaration.
- go-callvis - Visualize call graph of your Go program using dot format.
- gomodrun - Go tool that executes and caches binaries included in go.mod files.
-
-
GUI
-
Advanced Console UIs
- app - Package to create apps with GO, HTML and CSS. Supports: MacOS, Windows in progress.
- fyne - Cross platform native GUIs designed for Go based on Material Design. Supports: Linux, macOS, Windows, BSD, iOS and Android.
- go-astilectron - Build cross platform GUI apps with GO and HTML/JS/CSS (powered by Electron).
- go-gtk - Go bindings for GTK.
- go-sciter - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. Cross platform.
- gotk3 - Go bindings for GTK3.
- gowd - Rapid and simple desktop UI development with GO, HTML, CSS and NW.js. Cross platform.
- qt - Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi).
- ui - Platform-native GUI library for Go. Cross platform.
- Wails - Mac, Windows, Linux desktop apps with HTML UI using built-in OS HTML renderer.
- walk - Windows application library kit for Go.
- go-appindicator - Go bindings for libappindicator3 C library.
- gosx-notifier - OSX Desktop Notifications library for Go.
- mac-activity-tracker - OSX library to notify about any (pluggable) activity on your machine.
- mac-sleep-notifier - OSX Sleep/Wake notifications in golang.
- robotgo - Go Native cross-platform GUI system automation. Control the mouse, keyboard and other.
- systray - Cross platform Go library to place an icon and menu in the notification area.
- trayhost - Cross-platform Go library to place an icon in the host operating system's taskbar.
- webview - Cross-platform webview window with simple two-way JavaScript bindings (Windows / macOS / Linux).
-
-
Hardware
-
Advanced Console UIs
-
-
Images
-
Advanced Console UIs
- bild - Collection of image processing algorithms in pure Go.
- bimg - Small package for fast and efficient image processing using libvips.
- cameron - An avatar generator for Go.
- canvas - Vector graphics to PDF, SVG or rasterized image.
- darkroom - An image proxy with changeable storage backends and image processing engines with focus on speed and resiliency.
- draft - Generate High Level Microservice Architecture diagrams for GraphViz using simple YAML syntax.
- geopattern - Create beautiful generative image patterns from a string.
- gg - 2D rendering in pure Go.
- gift - Package of image processing filters.
- gltf - Efficient and robust glTF 2.0 reader, writer and validator.
- go-cairo - Go binding for the cairo graphics library.
- go-gd - Go binding for GD library.
- go-nude - Nudity detection with Go.
- go-webcolors - Port of webcolors library from Python to Go.
- gocv - Go package for computer vision using OpenCV 3.3+.
- goimagehash - Go Perceptual image hashing package.
- goimghdr - The imghdr module determines the type of image contained in a file for Go.
- govatar - Library and CMD tool for generating funny avatars.
- gridder - A Grid based 2D Graphics library.
- image2ascii - Convert image to ASCII.
- imagick - Go binding to ImageMagick's MagickWand C API.
- imaginary - Fast and simple HTTP microservice for image resizing.
- imaging - Simple Go image processing package.
- img - Selection of image manipulation tools.
- ln - 3D line art rendering in Go.
- mergi - Tool & Go library for image manipulation (Merge, Crop, Resize, Watermark, Animate).
- mort - Storage and image processing server written in Go.
- mpo - Decoder and conversion tool for MPO 3D Photos.
- picfit - An image resizing server written in Go.
- pt - Path tracing engine written in Go.
-
Programming Languages
Categories
Utilities
137
Software Packages
108
Database
91
Web Frameworks
86
Third-party APIs
83
Miscellaneous
68
Networking
67
Command Line
67
Meetups
67
Testing
65
Data Structures
60
Text Processing
58
Websites
51
Database Drivers
50
Messaging
47
Logging
47
Distributed Systems
46
Configuration
43
Images
38
Natural Language Processing
37
Goroutines
36
Machine Learning
35
Authentication and OAuth
34
Science and Data Analysis
30
Code Analysis
27
Security
25
ORM
22
Conferences
21
Template Engines
21
File Handling
20
JSON
20
Serialization
20
GUI
19
Audio and Music
18
Date and Time
18
Bot Building
18
Game Development
18
Server Applications
18
Go Tools
17
Embeddable Scripting Languages
17
Package Management
16
Editor Plugins
14
Financial
14
Email
14
Generation and Generics
13
Benchmarks
12
Error Handling
12
Validation
11
Query Language
11
Social Media
11
Gophers
11
Video
11
E-Books
11
IoT (Internet of Things)
11
Resource Embedding
11
Geographic
10
Style Guides
10
UUID
9
Go Generate Tools
9
Job Scheduler
9
Forms
9
Continuous Integration
7
WebAssembly
6
Microsoft Office
6
XML
6
Version Control
6
OpenGL
6
Go Compilers
5
Performance
4
Functional
3
Windows
3
Sponsorships
3
Dynamic DNS
3
CSS Preprocessors
2
Stream Processing
1
Hardware
1
Sub Categories
Keywords
golang
741
go
690
golang-library
64
cli
57
database
50
http
41
json
38
testing
35
sql
31
golang-package
30
api
28
middleware
26
library
26
framework
24
redis
23
configuration
21
mysql
21
concurrency
20
postgresql
20
parser
19
docker
19
machine-learning
18
router
18
awesome-go
18
command-line
18
orm
17
logging
17
html
17
distributed-systems
15
server
14
xml
14
web
14
microservice
14
security
14
goroutine
14
config
13
sqlite
13
microservices
13
client
13
fast
13
dependency-injection
12
log
12
rpc
12
rest-api
12
environment-variables
11
queue
11
cache
11
validation
11
retry
11
go-library
11