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

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.