awesome-Char
仓颉语言优秀项目
https://github.com/megatontech/awesome-Char
Last synced: 8 days ago
JSON representation
-
Data Structures
-
Advanced Console UIs
- count-min-log - Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory).
- crunch - Go package implementing buffers for handling various datatypes easily.
- cuckoofilter - Cuckoo filter: a good alternative to a counting bloom filter implemented in Go.
- deque - A highly optimized double-ended queue.
- deque - Fast ring-buffer deque (double-ended queue).
- dict - Python-like dictionaries (dict) for Go.
- encoding - Integer Compression Libraries for Go.
- go-adaptive-radix-tree - Go implementation of Adaptive Radix Tree.
- go-datastructures - Collection of useful, performant, and thread-safe data structures.
- go-edlib - Go string comparison and edit distance algorithms library (Levenshtein, LCS, Hamming, Damerau levenshtein, Jaro-Winkler, etc.) compatible with Unicode.
- go-ef - A Go implementation of the Elias-Fano encoding.
- go-geoindex - In-memory geo index.
- go-mcache - Fast in-memory key:value store/cache library. Pointer caches.
- go-rquad - Region quadtrees with efficient point location and neighbour finding.
- gocache - A complete Go cache library with mutiple stores (memory, memcache, redis, ...), chainable, loadable, metrics cache and more.
- goconcurrentqueue - Concurrent FIFO queue.
- gods - Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc.
- gofal - fractional api for Go.
- golang-set - Thread-Safe and Non-Thread-Safe high-performance sets for Go.
- goset - A useful Set collection implementation for Go.
- goskiplist - Skip list implementation in Go.
- gostl - Data structure and algorithm library for go, designed to provide functions similar to C++ STL.
- gota - Implementation of dataframes, series, and data wrangling methods for Go.
- goterator - Iterator implementation to provide map and reduce functionalities.
- hide - ID type with marshalling to/from hash to prevent sending IDs to clients.
- hilbert - Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves.
- hyperloglog - HyperLogLog implementation with Sparse, LogLog-Beta bias correction and TailCut space reduction.
- iter - Go implementation of C++ STL iterators and algorithms.
- levenshtein - Levenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix.
- levenshtein - Implementation to calculate levenshtein distance in Go.
- mafsa - MA-FSA implementation with Minimal Perfect Hashing.
- merkletree - Implementation of a merkle tree providing an efficient and secure verification of the contents of data structures.
- mspm - Multi-String Pattern Matching Algorithm for information retrieval.
- nan - Zero allocation Nullable structures in one library with handy conversion functions, marshallers and unmarshallers.
- null - Nullable Go types that can be marshalled/unmarshalled to/from JSON.
- parsefields - Tools for parse JSON-like logs for collecting unique fields and events.
- pipeline - An implementation of pipelines with fan-in and fan-out.
- ptrie - An implementation of prefix tree.
- remember-go - A universal interface for caching slow database queries (backed by redis, memcached, ristretto, or in-memory).
- ring - Go implementation of a high performance, thread safe bloom filter.
- roaring - Go package implementing compressed bitsets.
- set - Simple set data structure implementation in Go using LinkedHashMap.
- skiplist - Very fast Go Skiplist implementation.
- skiplist - Skiplist implementation in Go.
- timedmap - Map with expiring key-value pairs.
- treap - Persistent, fast ordered map using tree heaps.
- trie - Trie implementation in Go.
- typ - Null Types, Safe primitive type conversion and fetching value from complex structures.
- willf/bloom - Go package implementing Bloom filters.
- ttlcache - In-memory string-interface{} cache with various time-based expiration options and callbacks.
-
-
Date and Time
-
Advanced Console UIs
- carbon - Simple Time extension with a lot of util methods, ported from PHP Carbon library.
- cronrange - Parses Cron-style time range expressions, checks if the given time is within any ranges.
- date - Augments Time for working with dates, date ranges, time spans, periods, and time-of-day.
- dateparse - Parse date's without knowing format in advance.
- durafmt - Time duration formatting library for Go.
- feiertage - Set of functions to calculate public holidays in Germany, incl. specialization on the states of Germany (Bundesländer). Things like Easter, Pentecost, Thanksgiving...
- go-persian-calendar - The implementation of the Persian (Solar Hijri) Calendar in Go (golang).
- go-str2duration - Convert string to duration. Support time.Duration returned string and more.
- go-sunrise - Calculate the sunrise and sunset times for a given location.
- go-week - An efficient package to work with ISO8601 week dates.
- iso8601 - Efficiently parse ISO8601 date-times without regex.
- kair - Date and Time - Golang Formatting Library.
- now - Now is a time toolkit for golang.
- NullTime - Nullable `time.Time`.
- strftime - C99-compatible strftime formatter.
- timespan - For interacting with intervals of time, defined as a start time and a duration.
- timeutil - Useful extensions (Timedelta, Strftime, ...) to the golang's time package.
- tuesday - Ruby-compatible Strftime function.
-
-
Distributed Systems
-
Advanced Console UIs
- dynamolock - DynamoDB-backed distributed locking implementation.
- pglock - PostgreSQL-backed distributed locking implementation.
- raft - Go implementation of the Raft consensus protocol, by CoreOS.
- resgate - Realtime API Gateway for building REST, real time, and RPC APIs, where all clients are synchronized seamlessly.
- arpc - More effective network communication, support two-way-calling, notify, broadcast.
- celeriac - Library for adding support for interacting and monitoring Celery workers, tasks and events in Go.
- consistent - Consistent hashing with bounded loads.
- consistenthash - Consistent hashing with configurable replicas.
- dht - BitTorrent Kademlia DHT implementation.
- digota - grpc ecommerce microservice.
- doublejump - A revamped Google's jump consistent hash.
- dragonboat - A feature complete and high performance multi-group Raft library in Go.
- drmaa - Job submission library for cluster schedulers based on the DRMAA standard.
- dynatomic - A library for using DynamoDB as an atomic counter.
- emitter-io - High performance, distributed, secure and low latency publish-subscribe platform built with MQTT, Websockets and love.
- flowgraph - flow-based programming package.
- gleam - Fast and scalable distributed map/reduce system written in pure Go and Luajit, combining Go's high concurrency with Luajit's high performance, runs standalone or distributed.
- glow - Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go.
- gmsec - A Go distributed systems development framework.
- go-health - Library for enabling asynchronous dependency health checks in your service.
- go-jump - Port of Google's "Jump" Consistent Hash function.
- go-kit - Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc.
- go-micro - A distributed systems development framework.
- go-mysql-lock - MySQL based distributed lock.
- go-pdu - A decentralized identity-based social network.
- go-sundheit - A library built to provide support for defining async service health checks for golang services.
- gorpc - Simple, fast and scalable RPC library for high load.
- grpc-go - The Go language implementation of gRPC. HTTP/2 based RPC.
- hprose - Very newbility RPC Library, support 25+ languages now.
- jsonrpc - The jsonrpc package helps implement of JSON-RPC 2.0.
- jsonrpc - JSON-RPC 2.0 HTTP client implementation.
- KrakenD - Ultra performant API Gateway framework with middlewares.
- liftbridge - Lightweight, fault-tolerant message streams for NATS.
- NATS - Lightweight, high performance messaging system for microservices, IoT, and cloud native systems.
- outboxer - Outboxer is a go library that implements the outbox pattern.
- raft - Golang implementation of the Raft consensus protocol, by HashiCorp.
- rain - BitTorrent client and library.
- redis-lock - Simplified distributed locking implementation using Redis.
- ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications.
- rpcx - Distributed pluggable RPC service framework like alibaba Dubbo.
- Semaphore - A straightforward (micro) service orchestrator.
- sleuth - Library for master-less p2p auto-discovery and RPC between HTTP services (using [ZeroMQ](https://github.com/zeromq/libzmq)).
- tendermint - High-performance middleware for transforming a state machine written in any programming language into a Byzantine Fault Tolerant replicated state machine using the Tendermint consensus and blockchain protocols.
- torrent - BitTorrent client package.
- dot - distributed sync using operational transformation/OT.
- micro - A distributed systems runtime for the cloud and beyond.
-
-
Dynamic DNS
-
Advanced Console UIs
- DDNS - Personal DDNS client with Digital Ocean Networking DNS as backend.
- dyndns - Background Go process to regularly and automatically check your IP Address and make updates to (one or many) Dynamic DNS records for Google domains whenever your address changes.
- GoDNS - A dynamic DNS client tool, supports DNSPod & HE.net, written in Go.
-
-
E-Books
-
Other Software
- A Go Developer's Notebook
- GoBooks - A curated list of Go books.
- The Go Programming Language
- An Introduction to Programming in Go
- Go Bootcamp
- Go Succinctly - in Persian.
- Spaceship Go A Journey to the Standard Library
- The Golang Standard Library by Example (Chinese)
- Go Bootcamp
- Web Application with Go the Anti-Textbook
- Network Programming With Go
-
-
Editor Plugins
-
Routers
- Go plugin for JetBrains IDEs - Go plugin for JetBrains IDEs.
- goprofiling - This extension adds benchmark profiling support for the Go language to VS Code.
- go-language-server - A wrapper to turn the VSCode go extension into a language server supporting the language-server-protocol.
- go-mode - Go mode for GNU/Emacs.
- go-plus - Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting.
- gocode - Autocompletion daemon for the Go programming language.
- goimports-reviser - Formatting tool for imports.
- GoSublime - Golang plugin collection for the text editor SublimeText 3 providing code completion and other IDE-like features.
- gounit-vim - Vim plugin for generating Go tests based on the function's or method's signature.
- theia-go-extension - Go language support for the Theia IDE.
- 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.
-
-
Email
-
Advanced Console UIs
- douceur - CSS inliner for your HTML emails.
- email - A robust and flexible email library for Go.
- go-dkim - DKIM library, to sign & verify email.
- go-imap - IMAP library for clients and servers.
- go-message - Streaming library for the Internet Message Format and mail messages.
- go-premailer - Inline styling for HTML mail in Go.
- go-simple-mail - Very simple package to send emails with SMTP Keep Alive and two timeouts: Connect and Send.
- Hectane - Lightweight SMTP client providing an HTTP API.
- hermes - Golang package that generates clean, responsive HTML e-mails.
- mailchain - Send encrypted emails to blockchain addresses written in Go.
- mailgun-go - Go library for sending mail with the Mailgun API.
- MailHog - Email and SMTP testing with web and API interface.
- SendGrid - SendGrid's Go library for sending email.
- smtp - SMTP server protocol state machine.
-
-
Embeddable Scripting Languages
-
Advanced Console UIs
- anko - Scriptable interpreter written in Go.
- binder - Go to Lua binding library, based on [gopher-lua](https://github.com/yuin/gopher-lua).
- cel-go - Fast, portable, non-Turing complete expression evaluation with gradual typing.
- gentee - Embeddable scripting programming language.
- gisp - Simple LISP in Go.
- go-duktape - Duktape JavaScript engine bindings for Go.
- go-lua - Port of the Lua 5.2 VM to pure Go.
- go-php - PHP bindings for Go.
- go-python - naive go bindings to the CPython C-API.
- goja - ECMAScript 5.1(+) implementation in Go.
- golua - Go bindings for Lua C API.
- gopher-lua - Lua 5.1 VM and compiler written in Go.
- gval - A highly customizable expression language written in Go.
- ngaro - Embeddable Ngaro VM implementation enabling scripting in Retro.
- purl - Perl 5.18.2 embedded in Go.
- tengo - Bytecode compiled script language for Go.
- expr - Expression evaluation engine for Go: fast, non-Turing complete, dynamic typing, static typing.
-
-
Error Handling
-
Advanced Console UIs
- emperror - Error handling tools and best practices for Go libraries and applications.
- eris - A better way to handle, trace, and log errors in Go. Compatible with the standard error library and github.com/pkg/errors.
- errlog - Hackable package that determines responsible source code for an error (and some other fast-debugging features). Pluggable to any logger in-place.
- errors - Drop-in replacement for the standard library errors package and github.com/pkg/errors. Provides various error handling primitives.
- errors - Package that provides simple error handling primitives.
- errors - Simple golang error handling with classification primitives.
- errors - The most simple error wrapper with awesome performance and minimal memory overhead.
- errors - Drop-in replacement for builting Go errors. This is a minimal error handling package with custom error types, user friendly messages, Unwrap & Is. With very easy to use and straightforward helper functions.
- errorx - A feature rich error package with stack traces, composition of errors and more.
- go-multierror - Go (golang) package for representing a list of errors as a single error.
- tracerr - Golang errors with stack trace and source fragments.
- Falcon - A Simple Yet Highly Powerful Package For Error Handling.
-
-
File Handling
-
Advanced Console UIs
- stl - Modules to read and write STL (stereolithography) files. Concurrent algorithm for reading.
- afero - FileSystem Abstraction System for Go.
- afs - Abstract File Storage (mem, scp, zip, tar, cloud: s3, gs) for Go.
- baraka - A library to process http file uploads easily.
- bigfile - A file transfer system, support to manage files with http api, rpc call and ftp client.
- checksum - Compute message digest, like MD5 and SHA256, for large files.
- copy - Copy directory recursively.
- flop - File operations library which aims to mirror feature parity with [GNU cp](https://www.gnu.org/software/coreutils/manual/html_node/cp-invocation.html).
- go-csv-tag - Load csv file using tag.
- go-decent-copy - Copy files for humans.
- go-exiftool - Go bindings for ExifTool, the well-known library used to extract as much metadata as possible (EXIF, IPTC, ...) from files (pictures, PDF, office, ...).
- go-gtfs - Load gtfs files in go.
- gut/yos - Simple and reliable package for file operations like copy/move/diff/list on files, directories and symbolic links.
- notify - File system event notification library with simple API, similar to os/signal.
- opc - Load Open Packaging Conventions (OPC) files for 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