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

awesome-Char

仓颉语言优秀项目
https://github.com/megatontech/awesome-Char

Last synced: 16 days ago
JSON representation

  • Audio and Music

    • Contents

      • EasyMIDI - EasyMidi is a simple and reliable library for working with standard midi file (SMF).
      • flac - Native Go FLAC encoder/decoder with support for FLAC streams.
      • gaad - Native Go AAC bitstream parser.
      • go-sox - libsox bindings for go.
      • go_mediainfo - libmediainfo bindings for go.
      • gosamplerate - libsamplerate bindings for go.
      • malgo - Mini audio library.
      • minimp3 - Lightweight MP3 decoder library.
      • mix - Sequence-based Go-native audio mixer for music apps.
      • mp3 - Native Go MP3 decoder.
      • music-theory - Music theory models in Go.
      • PortAudio - Go bindings for the PortAudio audio I/O library.
      • portmidi - Go bindings for PortMidi.
      • taglib - Go bindings for taglib.
      • vorbis - "Native" Go Vorbis decoder (uses CGO, but has no dependencies).
      • waveform - Go package capable of generating waveform images from audio streams.
      • id3v2 - Fast and powerful ID3 decoding and encodung library written completely in Go.
      • Oto - A low-level library to play sound on multiple platforms.
  • Authentication and OAuth

    • Contents

      • authboss - Modular authentication system for the web. It tries to remove as much boilerplate and "hard things" as possible so that each time you start a new web project in Go, you can plug it in, configure, and start building your app without having to build an authentication system each time.
      • branca - Golang implementation of Branca Tokens.
      • cookiestxt - provides parser of cookies.txt file format.
      • go-email-normalizer - Golang library for providing a canonical representation of email address.
      • go-guardian - Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication that supports LDAP, Basic, Bearer token and Certificate based authentication.
      • go-jose - Fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs.
      • go-oauth2-server - Standalone, specification-compliant, OAuth2 server written in Golang.
      • gologin - chainable handlers for login with OAuth1 and OAuth2 authentication providers.
      • gorbac - provides a lightweight role-based access control (RBAC) implementation in Golang.
      • goth - provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple providers out of the box.
      • httpauth - HTTP Authentication middleware.
      • jeff - Simple, flexible, secure and idiomatic web session management with pluggable backends.
      • jwt - Clean and easy to use implementation of JSON Web Tokens (JWT).
      • jwt - Lightweight JSON Web Token (JWT) library.
      • jwt - Safe, simple and fast JSON Web Tokens for Go.
      • jwt-auth - JWT middleware for Golang http servers with many configuration options.
      • jwt-go - Golang implementation of JSON Web Tokens (JWT).
      • oauth2 - Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine and App Engine support.
      • osin - Golang OAuth2 server library.
      • otpgo - Time-Based One-Time Password (TOTP) and HMAC-Based One-Time Password (HOTP) library for Go.
      • paseto - Golang implementation of Platform-Agnostic Security Tokens (PASETO).
      • permissions2 - Library for keeping track of users, login states and permissions. Uses secure cookies and bcrypt.
      • rbac - Minimalistic RBAC package for Go applications.
      • scs - Session Manager for HTTP servers.
      • securecookie - Efficient secure cookie encoding/decoding.
      • session - Go session management for web servers (including support for Google App Engine - GAE).
      • sessiongate-go - Go session management using the SessionGate Redis module.
      • sessions - Dead simple, highly performant, highly customizable sessions service for go http servers.
      • signedvalue - Signed and timestamped strings compatible with [Tornado's](https://github.com/tornadoweb/tornado) `create_signed_value`, `decode_signed_value`, and therefore `set_secure_cookie` and `get_secure_cookie`.
      • sjwt - Simple jwt generator and parser.
      • casbin - Authorization library that supports access control models like ACL, RBAC, ABAC.
      • loginsrv - JWT login microservice with plugable backends such as OAuth2 (Github), htpasswd, osiam.
      • scope - Easily Manage OAuth2 Scopes In Go.
      • sessionup - Simple, yet effective HTTP session management and identification package.
  • Benchmarks

    • Other Software

      • autobench - Framework to compare the performance between different Go versions.
      • go-benchmark-app - Powerful HTTP-benchmark tool mixed with Аb, Wrk, Siege tools. Gathering statistics and various parameters for benchmarks and comparison results.
      • go-benchmarks - Few miscellaneous Go microbenchmarks. Compare some language features to alternative approaches.
      • go-http-routing-benchmark - Go HTTP request router benchmark and comparison.
      • go-web-framework-benchmark - Go web framework benchmark.
      • go_serialization_benchmarks - Benchmarks of Go serialization methods.
      • golang-sql-benchmark - Collection of benchmarks for popular Go database/SQL utilities.
      • gospeed - Go micro-benchmarks for calculating the speed of language constructs.
      • kvbench - Key/Value database benchmark.
      • skynet - Skynet 1M threads microbenchmark.
      • speedtest-resize - Compare various Image resize algorithms for the Go language.
      • gocostmodel - Benchmarks of common basic operations for the Go language.
  • Bot Building

    • Contents

      • ephemeral-roles - A Discord bot for managing ephemeral roles based upon voice channel member presence.
      • go-chat-bot - IRC, Slack & Telegram bot written in Go.
      • go-sarah - Framework to build bot for desired chat services including LINE, Slack, Gitter and more.
      • go-tgbot - Pure Golang Telegram Bot API wrapper, generated from swagger file, session-based router and middleware.
      • go-twitch-irc - Libary to write bots for twitch.tv chat
      • Golang CryptoTrading Bot - A golang implementation of a console-based trading bot for cryptocurrency exchanges.
      • govkbot - Simple Go [VK](https://vk.com) bot library.
      • hanu - Framework for writing Slack bots.
      • margelet - Framework for building Telegram bots.
      • micha - Go Library for Telegram bot api.
      • olivia - A chatbot built with an artificial neural network.
      • slacker - Easy to use framework to create Slack bots.
      • slackscot - Another framework for building Slack bots.
      • tbot - Telegram bot server with API similar to net/http.
      • telebot - Telegram bot framework written in Go.
      • Tenyks - Service oriented IRC bot using Redis and JSON for messaging.
      • Kelp - official trading and market-making bot for the [Stellar](https://www.stellar.org/) DEX. Works out-of-the-box, written in Golang, compatible with centralized exchanges and custom trading strategies.
      • telegram-bot-api - Simple and clean Telegram bot client.
  • Code Analysis

    • Routers

      • GoCover.io - GoCover.io offers the code coverage of any golang package as a service.
      • Golint online - Lints online Go source files on GitHub, Bitbucket and Google Project Hosting using the golint package.
      • goreturns - Adds zero-value return statements to match the func return types.
      • gosimple - gosimple is a linter for Go source code that specialises on simplifying code.
      • staticcheck - staticcheck is `go vet` on steroids, applying a ton of static analysis checks you might be used to from tools like ReSharper for C#.
      • unused - unused checks Go code for unused constants, variables, functions and types.
      • apicompat - Checks recent changes to a Go project for backwards incompatible changes.
      • dupl - Tool for code clone detection.
      • errcheck - Errcheck is a program for checking for unchecked errors in Go programs.
      • gcvis - Visualise Go program GC trace data in real time.
      • go-checkstyle - checkstyle is a style check tool like java checkstyle. This tool inspired by java checkstyle, golint. The style referred to some points in Go Code Review Comments.
      • go-cleanarch - go-cleanarch was created to validate Clean Architecture rules, like a The Dependency Rule and interaction between packages in your Go projects.
      • go-critic - source code linter that brings checks that are currently not implemented in other linters.
      • go-mod-outdated - An easy way to find outdated dependencies of your Go projects.
      • go-outdated - Console application that displays outdated packages.
      • goast-viewer - Web based Golang AST visualizer.
      • golines - Formatter that automatically shortens long lines in Go code.
      • GoLint - Golint is a linter for Go source code.
      • GoPlantUML - Library and CLI that generates text plantump class diagram containing information about structures and interfaces with the relationship among them.
      • gostatus - Command line tool, shows the status of repositories that contain Go packages.
      • lint - Run linters as part of go test.
      • php-parser - A Parser for PHP written in Go.
      • tickgit - CLI and go package for surfacing code comment TODOs (in any language) and applying a `git blame`to identify the author.
      • unconvert - Remove unnecessary type conversions from Go source.
      • validate - Automatically validates struct fields with tags.
      • tarp - tarp finds functions and methods without direct unit tests in Go source code.
      • goimports - Tool to fix (add, remove) your Go imports automatically.
  • Command Line

    • Advanced Console UIs

      • gommon/color - Style terminal text.
      • asciigraph - Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies.
      • aurora - ANSI terminal colors that supports fmt.Printf/Sprintf.
      • cfmt - Contextual fmt inspired by bootstrap color classes.
      • chalk - Intuitive package for prettifying terminal/console output.
      • colourize - Go library for ANSI colour text in terminals.
      • ctc - The non-invasive cross-platform terminal color library does not need to modify the Print method.
      • go-ataman - Go library for rendering ANSI colored text templates in terminals.
      • go-colorable - Colorable writer for windows.
      • go-colortext - Go library for color output in terminals.
      • go-isatty - isatty for golang.
      • go-prompt - Library for building a powerful interactive prompt, inspired by [python-prompt-toolkit](https://github.com/jonathanslenders/python-prompt-toolkit).
      • gocui - Minimalist Go library aimed at creating Console User Interfaces.
      • gookit/color - Terminal color rendering tool library, support 16 colors, 256 colors, RGB color rendering output, compatible with Windows.
      • mpb - Multi progress bar for terminal applications.
      • progressbar - Basic thread-safe progress bar that works in every OS.
      • simpletable - Simple tables in terminal with Go.
      • tabby - A tiny library for super simple Golang tables.
      • tabular - Print ASCII tables from command line utilities without the need to pass large sets of data to the API.
      • termbox-go - Termbox is a library for creating cross-platform text-based interfaces.
      • termdash - Go terminal dashboard based on **termbox-go** and inspired by [termui](https://github.com/gizak/termui).
      • termui - Go terminal dashboard based on **termbox-go** and inspired by [blessed-contrib](https://github.com/yaronn/blessed-contrib).
      • uilive - Library for updating terminal output in realtime.
      • uiprogress - Flexible library to render progress bars in terminal applications.
      • uitable - Library to improve readability in terminal apps using tabular data.
      • yacspin - Yet Another CLi Spinner package, for working with terminal spinners.
    • Standard CLI

      • hiboot cli - cli application framework with auto configuration and dependency injection.
      • 1build - Command line tool to frictionlessly manage project-specific commands.
      • argparse - Command line argument parser inspired by Python's argparse module.
      • argv - Go library to split command line string as arguments array using the bash syntax.
      • cli - Feature-rich and easy to use command-line package based on golang struct tags.
      • cli - Simple and complete API for building command line interfaces in Go.
      • cli-init - The easy way to start building Golang command line applications.
      • clîr - A Simple and Clear CLI library. Dependency free.
      • cmd - Extends the standard `flag` package to support sub commands and more in idomatic way.
      • cmdr - A POSIX/GNU style, getopt-like command-line UI Go library.
      • cobra - Commander for modern Go CLI interactions.
      • commandeer - Dev-friendly CLI apps: sets up flags, defaults, and usage based on struct fields and tags.
      • complete - Write bash completions in Go + Go command bash completion.
      • Dnote - A simple command line notebook with multi-device sync.
      • docopt.go - Command-line arguments parser that will make you smile.
      • env - Tag-based environment configuration for structs.
      • flag - Simple but powerful command line option parsing library for Go supporting subcommand.
      • flaggy - A robust and idiomatic flags package with excellent subcommand support.
      • flagvar - A collection of flag argument types for Go's standard `flag` package.
      • go-arg - Struct-based argument parsing in Go.
      • go-commander - Go library to simplify CLI workflow.
      • go-flags - go command line option parser.
      • go-getoptions - Go option parser inspired on the flexibility of Perl’s GetOpt::Long.
      • gocmd - Go library for building command line applications.
      • job - JOB, make your short-term command as a long-term job.
      • kingpin - Command line and flag parser supporting sub commands.
      • liner - Go readline-like library for command-line interfaces.
      • mitchellh/cli - Go library for implementing command-line interfaces.
      • mow.cli - Go library for building CLI applications with sophisticated flag and argument parsing and validation.
      • ops - Unikernel Builder/Orchestrator.
      • pflag - Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
      • readline - Pure golang implementation that provides most features in GNU-Readline under MIT license.
      • sand - Simple API for creating interpreters and so much more.
      • sflags - Struct based flags generator for flag, urfave/cli, pflag, cobra, kingpin and other libraries.
      • strumt - Library to create prompt chain.
      • ts - Timestamp convert & compare tool.
      • ukautz/clif - Small command line interface framework.
      • urfave/cli - Simple, fast, and fun package for building command line apps in Go (formerly codegangsta/cli).
      • wlog - Simple logging interface that supports cross-platform color and concurrency.
      • wmenu - Easy to use menu structure for cli applications that prompts users to make choices.
      • climax - Alternative CLI with "human face", in spirit of Go command.
  • Conferences

  • Configuration

    • Advanced Console UIs

      • gone/jconf - Modular JSON configuration. Keep you config structs along with the code they configure and delegate parsing to submodules without sacrificing full config serialization.
      • aconfig - Simple, useful and opinionated config loader.
      • cleanenv - Minimalistic configuration reader (from files, ENV, and wherever you want).
      • config - A lightweight yet powerful config package for Go projects.