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

  • 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

  • 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.