awesome-Char
仓颉语言优秀项目
https://github.com/megatontech/awesome-Char
Last synced: 8 days ago
JSON representation
-
Messaging
-
Advanced Console UIs
- Beaver - A real time messaging server to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps.
- Benthos - A message streaming bridge between a range of protocols.
- Bus - Minimalist message bus implementation for internal communication.
- Centrifugo - Real-time messaging (Websockets or SockJS) server in Go.
- Commander - A high-level event driven consumer/producer supporting various "dialects" such as Apache Kafka.
- Confluent Kafka Golang Client - confluent-kafka-go is Confluent's Golang client for Apache Kafka and the Confluent Platform.
- dbus - Native Go bindings for D-Bus.
- drone-line - Sending [Line](https://at.line.me/en) notifications using a binary, docker or Drone CI.
- emitter - Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins.
- event - Implementation of the pattern observer.
- EventBus - The lightweight event bus with async compatibility.
- gaurun-client - Gaurun Client written in Go.
- Glue - Robust Go and Javascript Socket Library (Alternative to Socket.io).
- go-mq - RabbitMQ client with declarative configuration.
- go-notify - Native implementation of the freedesktop notification spec.
- go-nsq - the official Go package for NSQ.
- go-res - Package for building REST/real-time services where clients are synchronized seamlessly, using NATS and Resgate.
- go-socket.io - socket.io library for golang, a realtime application framework.
- go-vitotrol - Client library to Viessmann Vitotrol web service.
- Gollum - A n:m multiplexer that gathers messages from different sources and broadcasts them to a set of destinations.
- golongpoll - HTTP longpoll server library that makes web pub-sub simple.
- gopush-cluster - gopush-cluster is a go push server cluster.
- gorush - Push notification server using [APNs2](https://github.com/sideshow/apns2) and google [GCM](https://github.com/google/go-gcm).
- gosd - A library for scheduling when to dispatch a message to a channel.
- guble - Messaging server using push notifications (Google Firebase Cloud Messaging, Apple Push Notification services, SMS) as well as websockets, a REST API, featuring distributed operation and message-persistence.
- hub - A Message/Event Hub for Go applications, using publish/subscribe pattern with support for alias like rabbitMQ exchanges.
- jazz - A simple RabbitMQ abstraction layer for queue administration and publishing and consuming of messages.
- machinery - Asynchronous task queue/job queue based on distributed message passing.
- melody - Minimalist framework for dealing with websocket sessions, includes broadcasting and automatic ping/pong handling.
- Mercure - Server and library to dispatch server-sent updates using the Mercure protocol (built on top of Server-Sent Events).
- messagebus - messagebus is a Go simple async message bus, perfect for using as event bus when doing event sourcing, CQRS, DDD.
- NATS Go Client - Lightweight and high performance publish-subscribe and distributed queueing messaging system - this is the Go library.
- nsq-event-bus - A tiny wrapper around NSQ topic and channel.
- oplog - Generic oplog/replication system for REST APIs.
- pubsub - Simple pubsub package for go.
- rabbus - A tiny wrapper over amqp exchanges and queues.
- rabtap - RabbitMQ swiss army knife cli app.
- RapidMQ - RapidMQ is a lightweight and reliable library for managing of the local messages queue.
- redisqueue - redisqueue provides a producer and consumer of a queue that uses Redis streams.
- rmqconn - RabbitMQ Reconnection. Wrapper over amqp.Connection and amqp.Dial. Allowing to do a reconnection when the connection is broken before forcing the call to the Close () method to be closed.
- sarama - Go library for Apache Kafka.
- Uniqush-Push - Redis backed unified push service for server-side notifications to mobile devices.
- zmq4 - Go interface to ZeroMQ version 4. Also available for [version 3](https://github.com/pebbe/zmq3) and [version 2](https://github.com/pebbe/zmq2).
- mangos - Pure go implementation of the Nanomsg ("Scalable Protocols") with transport interoperability.
-
-
Microsoft Office
-
Advanced Console UIs
- unioffice - Pure go library for creating and processing Office Word (.docx), Excel (.xlsx) and Powerpoint (.pptx) documents.
-
Microsoft Excel
- excelize - Golang library for reading and writing Microsoft Excel™ (XLSX) files.
- go-excel - A simple and light reader to read a relate-db-like excel as a table.
- goxlsxwriter - Golang bindings for libxlsxwriter for writing XLSX (Microsoft Excel) files.
- xlsx - Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs.
- xlsx - Fast and safe way to read/update your existing Microsoft Excel files in Go programs.
-
-
Miscellaneous
-
Dependency Injection
- alice - Additive dependency injection container for Golang.
- container - A powerful IoC Container with fluent and easy-to-use interface.
- di - A dependency injection container for go programming language.
- dig - A reflection based dependency injection toolkit for Go.
- dingo - A dependency injection toolkit for Go, based on Guice.
- fx - A dependency injection based application framework for Go (built on top of dig).
- gocontainer - Simple Dependency Injection Container.
- goioc/di - Spring-inspired Dependency Injection Container.
- linker - A reflection based dependency injection and inversion of control library with components lifecycle support.
- wire - Strict Runtime Dependency Injection for Golang.
-
Project Layout
- cookiecutter-golang - A Go application boilerplate template for quick starting projects following production best practices.
- go-sample - A sample layout for Go application projects with the real code.
- go-todo-backend - Go Todo Backend example using modular project layout for product microservice.
- golang-standards/project-layout - Set of common historical and emerging project layout patterns in the Go ecosystem.
- modern-go-application - Go application boilerplate and example applying modern practices.
- scaffold - Scaffold generates starter Go project layout. Lets you focus on business logic implemeted.
-
Strings
- gobeam/Stringy - String manipulation library to convert string to camel case, snake case, kebab case / slugify etc.
- strutil - String utilities.
- xstrings - Collection of useful string functions ported from other languages.
-
Uncategorized
- go-openapi - Collection of packages to parse and utilize open-api schemas.
- VarHandler - Generate boilerplate http input and output handling.
- anagent - Minimalistic, pluggable Golang evloop/timer handler with dependency-injection.
- antch - A fast, powerful and extensible web crawling & scraping framework.
- archiver - Library and command for making and extracting .zip and .tar.gz archives.
- autoflags - Go package to automatically define command line flags from struct fields.
- avgRating - Calculate average score and rating based on Wilson Score Equation.
- banner - Add beautiful banners into your Go applications.
- base64Captcha - Base64captch supports digit, number, alphabet, arithmetic, audio and digit-alphabet captcha.
- battery - Cross-platform, normalized battery information library.
- bitio - Highly optimized bit-level Reader and Writer for Go.
- browscap_go - GoLang Library for [Browser Capabilities Project](http://browscap.org/).
- captcha - Package captcha provides an easy to use, unopinionated API for captcha generation.
- conv - Package conv provides fast and intuitive conversions across Go types.
- datacounter - Go counters for readers/writer/http.ResponseWriter.
- faker - Random fake data and struct generator for Go.
- ffmt - Beautify data display for Humans.
- ghorg - Quickly clone an entire org/users repositories into one directory - Supports GitHub, GitLab, and Bitbucket.
- go-commons-pool - Generic object pool for Golang.
- go-resiliency - Resiliency patterns for golang.
- go-unarr - Decompression library for RAR, TAR, ZIP and 7z archives.
- gofakeit - Random data generator written in go.
- gommit - Analyze git commit messages to ensure they follow defined patterns.
- gopsutil - Cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc).
- gosh - Provide Go Statistics Handler, Struct, Measure Method.
- gosms - Your own local SMS gateway in Go that can be used to send SMS.
- gotoprom - Type-safe metrics builder wrapper library for the official Prometheus client.
- gountries - Package that exposes country and subdivision data.
- health - Easy to use, extensible health check library.
- healthcheck - An opinionated and concurrent health-check HTTP handler for RESTful services.
- hostutils - A golang library for packing and unpacking FQDNs list.
- indigo - Distributed unique ID generator of using Sonyflake and encoded by Base58.
- lk - A simple licensing library for golang.
- llvm - Library for interacting with LLVM IR in pure Go.
- metrics - Library for metrics instrumentation and Prometheus exposition.
- morse - Library to convert to and from morse code.
- numa - NUMA is a utility library, which is written in go. It help us to write some NUMA-AWARED code.
- pdfgen - HTTP service to generate PDF from Json requests.
- persian - Some utilities for Persian language in go.
- sandid - Every grain of sand on earth has its own ID.
- shellwords - A Golang library to manipulate strings according to the word parsing rules of the UNIX Bourne shell.
- shortid - Distributed generation of super short, unique, non-sequential, URL friendly IDs.
- shoutrrr - Notification library providing easy access to various messaging services like slack, mattermost, gotify and smtp among others.
- stateless - A fluent library for creating state machines.
- stats - Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc...
- turtle - Emojis for Go.
- url-shortener - A modern, powerful, and robust URL shortener microservice with mysql support.
- xdg - FreeDesktop.org (xdg) Specs implemented in Go.
- xkg - X Keyboard Grabber.
-
-
Natural Language Processing
-
Uncategorized
- detectlanguage - Language Detection API Go Client. Supports batch requests, short phrase or single word language detection.
- getlang - Fast natural language detection package.
- go-i18n - Package and an accompanying tool to work with localized text.
- go-localize - Simple and easy to use i18n (Internationalization and localization) engine - used for translating locale strings.
- go-mystem - CGo bindings to Yandex.Mystem - russian morphology analyzer.
- go-nlp - Utilities for working with discrete probability distributions and other tools useful for doing NLP work.
- go-pinyin - CN Hanzi to Hanyu Pinyin converter.
- go-stem - Implementation of the porter stemming algorithm.
- go-unidecode - ASCII transliterations of Unicode text.
- go2vec - Reader and utility functions for word2vec embeddings.
- gojieba - This is a Go implementation of [jieba](https://github.com/fxsjy/jieba) which a Chinese word splitting algorithm.
- golibstemmer - Go bindings for the snowball libstemmer library including porter 2.
- gotokenizer - A tokenizer based on the dictionary and Bigram language models for Golang. (Now only support chinese segmentation)
- gounidecode - Unicode transliterator (also known as unidecode) for Go.
- gse - Go efficient text segmentation; support english, chinese, japanese and other.
- icu - Cgo binding for icu4c C library detection and conversion functions. Guaranteed compatibility with version 50.1.
- iuliia-go - Transliterate Cyrillic → Latin in every possible way.
- kagome - JP morphological analyzer written in pure Go.
- libtextcat - Cgo binding for libtextcat C library. Guaranteed compatibility with version 2.2.
- MMSEGO - This is a GO implementation of [MMSEG](http://technology.chtsai.org/mmseg/) which a Chinese word splitting algorithm.
- nlp - Extract values from strings and fill your structs with nlp.
- nlp - Go Natural Language Processing library supporting LSA (Latent Semantic Analysis).
- paicehusk - Golang implementation of the Paice/Husk Stemming Algorithm.
- petrovich - Petrovich is the library which inflects Russian names to given grammatical case.
- porter - This is a fairly straightforward port of Martin Porter's C implementation of the Porter stemming algorithm.
- porter2 - Really fast Porter 2 stemmer.
- prose - Library for text processing that supports tokenization, part-of-speech tagging, named-entity extraction, and more. English only.
- segment - Go library for performing Unicode Text Segmentation as described in [Unicode Standard Annex #29](http://www.unicode.org/reports/tr29/)
- sentences - Sentence tokenizer: converts text into a list of sentences.
- shamoji - The shamoji is word filtering package written in Go.
- snowball - Snowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality [Snowball native](http://snowball.tartarus.org/).
- stemmer - Stemmer packages for Go programming language. Includes English and German stemmers.
- textcat - Go package for n-gram based text categorization, with support for utf-8 and raw text.
- transliterator - Provides one-way string transliteration with supporting of language-specific transliteration rules.
- whatlanggo - Natural language detection package for Go. Supports 84 languages and 24 scripts (writing systems e.g. Latin, Cyrillic, etc).
- when - Natural EN and RU language date/time parser with pluggable rules.
- RAKE.go - Go port of the Rapid Automatic Keyword Extraction Algorithm (RAKE).
-
-
Networking
-
HTTP Clients
- gentleman - Full-featured plugin-driven HTTP client library.
- go-http-client - Make http calls simply and easily.
- grequests - A Go "clone" of the great and famous Requests library.
- heimdall - An enchanced http client with retry and hystrix capabilities.
- httpretry - Enriches the default go HTTP client with retry functionality.
- pester - Go HTTP client calls with retries, backoff, and concurrency.
- request - HTTP client for golang. If you have experience about axios or requests, you will love it. No 3rd dependency.
- resty - Simple HTTP and REST client for Go inspired by Ruby rest-client.
- rq - A nicer interface for golang stdlib HTTP client.
- sling - Sling is a Go HTTP client library for creating and sending API requests.
-
Uncategorized
- arp - Package arp implements the ARP protocol, as described in RFC 826.
- buffstreams - Streaming protocolbuffer data over TCP made easy.
- canopus - CoAP Client/Server implementation (RFC 7252).
- cidranger - Fast IP to CIDR lookup for Go.
- dhcp6 - Package dhcp6 implements a DHCPv6 server, as described in RFC 3315.
- dns - Go library for working with DNS.
- ether - Cross-platform Go package for sending and receiving ethernet frames.
- ethernet - Package ethernet implements marshaling and unmarshaling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags.
- fasthttp - Package fasthttp is a fast HTTP implementation for Go, up to 10 times faster than net/http.
- fortio - Load testing library and command line tool, advanced echo server and web UI. Allows to specify a set query-per-second load and record latency histograms and other useful stats and graph them. Tcp, Http, gRPC.
- ftp - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959).
- gaio - High performance async-io networking for Golang in proactor mode.
- gev - gev is a lightweight, fast non-blocking TCP network library based on Reactor mode.
- gmqtt - Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.1.1.
- gnet - `gnet` is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go.
- gNxI - A collection of tools for Network Management that use the gNMI and gNOI protocols.
- go-getter - Go library for downloading files or directories from various sources using a URL.
- go-powerdns - PowerDNS API bindings for Golang.
- go-stun - Go implementation of the STUN client (RFC 3489 and RFC 5389).
- gobgp - BGP implemented in the Go Programming Language.
- golibwireshark - Package golibwireshark use libwireshark library to decode pcap file and analyse dissection data.
- gopacket - Go library for packet processing with libpcap bindings.
- gopcap - Go wrapper for libpcap.
- goshark - Package goshark use tshark to decode IP packet and create data struct to analyse packet.
- gosnmp - Native Go library for performing SNMP actions.
- gotcp - Go package for quickly writing tcp applications.
- graval - Experimental FTP server framework.
- HTTPLab - HTTPLabs let you inspect HTTP requests and forge responses.
- httpproxy - HTTP proxy handler and dialer.
- iplib - Library for working with IP addresses (net.IP, net.IPNet), inspired by python [ipaddress](https://docs.python.org/3/library/ipaddress.html) and ruby [ipaddr](https://ruby-doc.org/stdlib-2.5.1/libdoc/ipaddr/rdoc/IPAddr.html)
- jazigo - Jazigo is a tool written in Go for retrieving configuration for multiple network devices.
- kcp-go - KCP - Fast and Reliable ARQ Protocol.
- kcptun - Extremely simple & fast udp tunnel based on KCP protocol.
- lhttp - Powerful websocket framework, build your IM server more easily.
- linkio - Network link speed simulation for Reader/Writer interfaces.
-
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