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

  • File Handling

    • Advanced Console UIs

      • parquet - Read and write [parquet](https://parquet.apache.org) files.
      • pdfcpu - PDF processor.
      • skywalker - Package to allow one to concurrently go through a filesystem with ease.
      • tarfs - Implementation of the [`FileSystem` interface](https://godoc.org/github.com/kr/fs#FileSystem) for tar files.
      • vfs - A pluggable, extensible, and opinionated set of filesystem functionality for Go across a number of filesystem types such as os, S3, and GCS.
  • Financial

    • Advanced Console UIs

      • go-finance - Comprehensive financial markets data in Go.
      • accounting - money and currency formatting for golang.
      • currency - Handles currency amounts, provides currency information and formatting.
      • currency - High performant & accurate currency computation package.
      • decimal - Arbitrary-precision fixed-point decimal numbers.
      • go-finance - Library of financial functions for time value of money (annuities), cash flow, interest rate conversions, bonds and depreciation calculations.
      • go-finance - Module to fetch exchange rates, check VAT numbers via VIES and check IBAN bank account numbers.
      • go-finnhub - Client for stock market, forex and crypto data from finnhub.io. Access real-time financial market data from 60+ stock exchanges, 10 forex brokers, and 15+ crypto exchanges.
      • go-money - Implementation of Fowler's Money pattern.
      • ofxgo - Query OFX servers and/or parse the responses (with example command-line client).
      • orderbook - Matching Engine for Limit Order Book in Golang.
      • techan - Technical analysis library with advanced market analysis and trading strategies.
      • transaction - Embedded transactional database of accounts, running in multithreaded mode.
      • vat - VAT number validation & EU VAT rates.
  • Forms

    • Advanced Console UIs

      • bind - Bind form data to any Go values.
      • binding - Binds form and JSON data from net/http Request to struct.
      • conform - Keeps user input in check. Trims, sanitizes & scrubs data based on struct tags.
      • form - Decodes url.Values into Go value(s) and Encodes Go value(s) into url.Values. Dual Array and Full map support.
      • formam - decode form's values into a struct.
      • forms - Framework-agnostic library for parsing and validating form/JSON data which supports multipart forms and files.
      • gorilla/csrf - CSRF protection for Go web applications & services.
      • nosurf - CSRF protection middleware for Go.
      • queryparam - Decode `url.Values` into usable struct values of standard or custom types.
  • Functional

    • Advanced Console UIs

      • fpGo - Monad, Functional Programming features for Golang.
      • fuego - Functional Experiment in Go.
      • go-underscore - Useful collection of helpfully functional Go collection utilities.
  • Game Development

    • Advanced Console UIs

      • Azul3D - 3D game engine written in Go.
      • Ebiten - dead simple 2D game library in Go.
      • engo - Engo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm.
      • g3n - Go 3D Game Engine.
      • go-astar - Go implementation of the A\* path finding algorithm.
      • go-sdl2 - Go bindings for the [Simple DirectMedia Layer](https://www.libsdl.org/).
      • go3d - Performance oriented 2D/3D math package for Go.
      • gonet - Game server skeleton implemented with golang.
      • goworld - Scalable game server engine, featuring space-entity framework and hot-swapping.
      • Leaf - Lightweight game server framework.
      • nano - Lightweight, facility, high performance golang based game server framework.
      • Oak - Pure Go game engine.
      • Pitaya - Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK.
      • Pixel - Hand-crafted 2D game library in Go.
      • prototype - Cross-platform (Windows/Linux/Mac) library for creating desktop games using a minimal API.
      • raylib-go - Go bindings for [raylib](http://www.raylib.com/), a simple and easy-to-use library to learn videogames programming.
      • termloop - Terminal-based game engine for Go, built on top of Termbox.
      • tile - Data-oriented and cache-friendly 2D Grid library (TileMap), includes pathfinding, observers and import/export.
  • Generation and Generics

    • Advanced Console UIs

      • gen - Code generation tool for ‘generics’-like functionality.
      • generis - Code generation tool providing generics, free-form macros, conditional compilation and HTML templating.
      • go-enum - Code generation for enums from code comments.
      • go-xray - Helpers for making the use of reflection easier.
      • goderive - Derives functions from input types.
      • gotype - Golang source code parsing, usage like reflect package.
      • GoWrap - Generate decorators for Go interfaces using simple templates.
      • interfaces - Command line tool for generating interface definitions.
      • jennifer - Generate arbitrary Go code without templates.
      • pkgreflect - Go preprocessor for package scoped reflection.
      • typeregistry - A library to create type dynamically.
      • go-linq - .NET LINQ-like query methods for Go.
      • efaceconv - Code generation tool for high performance conversion from interface{} to immutable type without allocations.
  • Geographic

    • Advanced Console UIs

      • geocache - In-memory cache that is suitable for geolocation based applications.
      • geoserver - geoserver Is a Go Package For Manipulating a GeoServer Instance via the GeoServer REST API.
      • gismanager - Publish Your GIS Data(Vector Data) to PostGIS and Geoserver.
      • mbtileserver - A simple Go-based server for map tiles stored in mbtiles format.
      • osm - Library for reading, writing and working with OpenStreetMap data and APIs.
      • pbf - OpenStreetMap PBF golang encoder/decoder.
      • S2 geojson - Convert geojson to s2 cells & demonstrating some S2 geometry features on map.
      • S2 geometry - S2 geometry library in Go.
      • Tile38 - Geolocation DB with spatial index and realtime geofencing.
      • WGS84 - Library for Coordinate Conversion and Transformation (ETRS89, OSGB36, NAD83, RGF93, Web Mercator, UTM).
  • Go Compilers

    • Advanced Console UIs

      • c4go - Transpile C code to Go code.
      • f4go - Transpile FORTRAN 77 code to Go code.
      • gopherjs - Compiler from Go to JavaScript.
      • llgo - LLVM-based compiler for Go.
      • tardisgo - Golang to Haxe to CPP/CSharp/Java/JavaScript transpiler.
  • Go Generate Tools

    • Routers

      • re2dfa - Transform regular expressions into finite state machines and output Go source code.
      • generic - flexible data type for Go.
      • genny - Elegant generics for Go.
      • gocontracts - brings design-by-contract to Go by synchronizing the code with the documentation.
      • gotests - Generate Go tests from your source code.
      • gounit - Generate Go tests using your own templates.
      • hasgo - Generate Haskell inspired functions for your slices.
      • xgen - XSD (XML Schema Definition) parser and Go/C/Java/Rust/TypeScript code generator.
      • gonerics - Idiomatic Generics in Go.
  • Gophers

  • Goroutines

    • Advanced Console UIs

      • oversight - Oversight is a complete implementation of the Erlang supervision trees.
      • ants - A high-performance and low-cost goroutine pool in Go.
      • async - A safe way to execute functions asynchronously, recovering them in case of panic.
      • breaker - Flexible mechanism to make execution flow interruptible.
      • conexec - A concurrent toolkit to help execute funcs concurrently in an efficient and safe way.It supports specifying the overall timeout to avoid blocking and uses goroutine pool to improve efficiency.
      • cyclicbarrier - CyclicBarrier for golang.
      • go-floc - Orchestrate goroutines with ease.
      • go-flow - Control goroutines execution order.
      • go-tools/multithreading - Manage a pool of goroutines using this lightweight library with a simple API.
      • go-trylock - TryLock support on read-write lock for Golang.
      • go-waitgroup - Like `sync.WaitGroup` with error handling and concurrency control.
      • goccm - Go Concurrency Manager package limits the number of goroutines that allowed to run concurrently.
      • gohive - A highly performant and easy to use Goroutine pool for Go.
      • gollback - asynchronous simple function utilities, for managing execution of closures and callbacks.
      • goworker - goworker is a Go-based background worker.
      • gowp - gowp is concurrency limiting goroutine pool.
      • gpool - manages a resizeable pool of context-aware goroutines to bound concurrency.
      • grpool - Lightweight Goroutine pool.
      • hands - A process controller used to control the execution and return strategies of multiple goroutines.
      • Hunch - Hunch provides functions like: `All`, `First`, `Retry`, `Waterfall` etc., that makes asynchronous flow control more intuitive.
      • kyoo - Provides an unlimited job queue and concurrent worker pools.
      • neilotoole/errgroup - Drop-in alternative to `sync/errgroup`, limited to a pool of N worker goroutines.
      • nursery - Structured concurrency in Go.
      • parallel-fn - Run functions in parallel.
      • pond - Minimalistic and High-performance goroutine worker pool written in Go.
      • pool - Limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation.
      • queue - Gives you a `sync.WaitGroup` like queue group accessibility. Helps you to throttle and limit goroutines, wait for the end of the all goroutines and much more.
      • routine - go routine control with context, support: Main, Go, Pool and some useful Executors.
      • semaphore - Semaphore pattern implementation with timeout of lock/unlock operations based on channel and context.
      • semaphore - Fast resizable semaphore implementation based on CAS (faster than channel-based semaphore implementations).
      • stl - Software transactional locks based on Software Transactional Memory (STM) concurrency control mechanism.
      • threadpool - Golang threadpool implementation.
      • tunny - Goroutine pool for golang.
      • worker-pool - goworker is a Go simple async worker pool.
      • workerpool - Goroutine pool that limits the concurrency of task execution, not the number of tasks queued.
      • artifex - Simple in-memory job queue for Golang using worker-based dispatching.
  • Go Tools

    • Routers

      • gb - An easy to use project based build tool for the Go programming language.
      • generator-go-lang - A [Yeoman](http://yeoman.io) generator to get new Go projects started.
      • colorgo - Wrapper around `go` command for colorized `go build` output.
      • depth - Visualize dependency trees of any package by analyzing imports.
      • gilbert - Build system and task runner for Go projects.
      • go-james - Go project skeleton creator, builds and tests your projects without the manual setup.
      • go-pkg-complete - Bash completion for go and wgo.
      • go-swagger - Swagger 2.0 implementation for go. Swagger is a simple yet powerful representation of your RESTful API.
      • godbg - Implementation of Rusts `dbg!` macro for quick and easy debugging during development.
      • gothanks - GoThanks automatically stars your go.mod github dependencies, sending this way some love to their maintainers.
      • igo - An igo to go transpiler (new language features for Go language!)
      • OctoLinker - Navigate through go files efficiently with the OctoLinker browser extension for GitHub.
      • richgo - Enrich `go test` outputs with text decorations.
      • rts - RTS: response to struct. Generates Go structs from server responses.
      • typex - Examine Go types and their transitive dependencies, alternatively export results as TypeScript value objects (or types) declaration.
      • go-callvis - Visualize call graph of your Go program using dot format.
      • gomodrun - Go tool that executes and caches binaries included in go.mod files.
  • GUI

    • Advanced Console UIs

      • app - Package to create apps with GO, HTML and CSS. Supports: MacOS, Windows in progress.
      • fyne - Cross platform native GUIs designed for Go based on Material Design. Supports: Linux, macOS, Windows, BSD, iOS and Android.
      • go-astilectron - Build cross platform GUI apps with GO and HTML/JS/CSS (powered by Electron).
      • go-gtk - Go bindings for GTK.
      • go-sciter - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. Cross platform.
      • gotk3 - Go bindings for GTK3.
      • gowd - Rapid and simple desktop UI development with GO, HTML, CSS and NW.js. Cross platform.
      • qt - Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi).
      • ui - Platform-native GUI library for Go. Cross platform.
      • Wails - Mac, Windows, Linux desktop apps with HTML UI using built-in OS HTML renderer.
      • walk - Windows application library kit for Go.
      • go-appindicator - Go bindings for libappindicator3 C library.
      • gosx-notifier - OSX Desktop Notifications library for Go.
      • mac-activity-tracker - OSX library to notify about any (pluggable) activity on your machine.
      • mac-sleep-notifier - OSX Sleep/Wake notifications in golang.
      • robotgo - Go Native cross-platform GUI system automation. Control the mouse, keyboard and other.
      • systray - Cross platform Go library to place an icon and menu in the notification area.
      • trayhost - Cross-platform Go library to place an icon in the host operating system's taskbar.
      • webview - Cross-platform webview window with simple two-way JavaScript bindings (Windows / macOS / Linux).
  • Hardware

  • Images

    • Advanced Console UIs

      • bild - Collection of image processing algorithms in pure Go.
      • bimg - Small package for fast and efficient image processing using libvips.
      • cameron - An avatar generator for Go.
      • canvas - Vector graphics to PDF, SVG or rasterized image.
      • darkroom - An image proxy with changeable storage backends and image processing engines with focus on speed and resiliency.
      • draft - Generate High Level Microservice Architecture diagrams for GraphViz using simple YAML syntax.
      • geopattern - Create beautiful generative image patterns from a string.
      • gg - 2D rendering in pure Go.
      • gift - Package of image processing filters.
      • gltf - Efficient and robust glTF 2.0 reader, writer and validator.
      • go-cairo - Go binding for the cairo graphics library.
      • go-gd - Go binding for GD library.
      • go-nude - Nudity detection with Go.
      • go-webcolors - Port of webcolors library from Python to Go.
      • gocv - Go package for computer vision using OpenCV 3.3+.
      • goimagehash - Go Perceptual image hashing package.
      • goimghdr - The imghdr module determines the type of image contained in a file for Go.
      • govatar - Library and CMD tool for generating funny avatars.
      • gridder - A Grid based 2D Graphics library.
      • image2ascii - Convert image to ASCII.
      • imagick - Go binding to ImageMagick's MagickWand C API.
      • imaginary - Fast and simple HTTP microservice for image resizing.
      • imaging - Simple Go image processing package.
      • img - Selection of image manipulation tools.
      • ln - 3D line art rendering in Go.
      • mergi - Tool & Go library for image manipulation (Merge, Crop, Resize, Watermark, Animate).
      • mort - Storage and image processing server written in Go.
      • mpo - Decoder and conversion tool for MPO 3D Photos.
      • picfit - An image resizing server written in Go.
      • pt - Path tracing engine written in Go.