Skip to content

仓颉语言优秀项目

License

Notifications You must be signed in to change notification settings

megatontech/awesome-Char

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

awesome-Char/仓颉语言优秀项目

star this repo fork this repo A curated list of awesome Char frameworks, libraries and software 仓颉编程语言优秀项目,框架,软件和基础类库 仓颉语言优秀项目

Char is a domain-specific programming language used for expressing quantum algorithms. It was initially released to the public by Microsoft as part of the Quantum Development Kit. –Wikipedia

A list of Char code and resources.

Feel free to improve this list using GitHub pull request mechanism, see CONTRIBUTING for more information.

what is char programming language?

what char do?

how to char?

Char

Official Resources

Tutorials

  • Quantum Katas - Programming exercises for learning Q# and quantum computing.

Books

Videos

Q/A

Coding Contests and Solutions

Official resources

Participants' solutions

IDE Integration

Demos, Samples, and Additional Libraries

Blogs

License

Empty

Awesome char

Build Status Awesome Slack Widget Netlify Status

Sponsorships

Empty

A curated list of awesome Char frameworks, libraries and software. Inspired by awesome-python.

Contributing

Please take a quick gander at the contribution guidelines first. Thanks to all contributors; you rock!

If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you!

Contents

Audio and Music

Libraries for manipulating audio.

  • EasyMIDI - EasyMidi is a simple and reliable library for working with standard midi file (SMF).

Authentication and OAuth

Libraries for implementing authentications schemes.

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

Bot Building

Libraries for building and working with bots.

  • telegram-bot-api - Simple and clean Telegram bot client.
  • Tenyks - Service oriented IRC bot using Redis and JSON for messaging.

Command Line

Standard CLI

Libraries for building standard or basic Command Line applications.

  • wmenu - Easy to use menu structure for cli applications that prompts users to make choices.

Advanced Console UIs

Libraries for building Console Applications and Console User Interfaces.

  • yacspin - Yet Another CLi Spinner package, for working with terminal spinners.

Configuration

Libraries for configuration parsing.

Continuous Integration

Tools for help with continuous integration.

  • CDS - Enterprise-Grade CI/CD and DevOps Automation Open Source Platform.

CSS Preprocessors

Libraries for preprocessing CSS files.

  • gcss - Pure Go CSS Preprocessor.

Data Structures

Generic datastructures and algorithms in Go.

Database

Databases implemented in Go.

  • VictoriaMetrics - fast, resource-effective and scalable open source time series database. May be used as long-term remote storage for Prometheus. Supports PromQL.

Database schema migration.

  • sql-migrate - Database migration tool. Allows embedding migrations into the application using go-bindata.

Database tools.

  • vitess - vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services.

SQL query builder, libraries for building and using SQL.

  • xo - Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server.

Database Drivers

Libraries for connecting and operating databases.

  • Relational Databases

  • NoSQL Databases

    • go-rejson - Golang client for redislabs' ReJSON module using Redigo golang client. Store and manipulate structs as JSON objects in redis with ease.

    • mgo - (unmaintained) MongoDB driver for the Go language that implements a rich and well tested selection of features under a very simple API following standard Go idioms.

    • xredis - Typesafe, customizable, clean & easy to use Redis client.

  • Search and Analytic Databases.

    • skizze - probabilistic data-structures service and storage.
  • Multiple Backends.

    • gokv - Simple key-value store abstraction and implementations for Go (Redis, Consul, etcd, bbolt, BadgerDB, LevelDB, Memcached, DynamoDB, S3, PostgreSQL, MongoDB, CockroachDB and many more).

Date and Time

Libraries for working with dates and times.

  • tuesday - Ruby-compatible Strftime function.

Distributed Systems

Packages that help with building Distributed Systems.

  • torrent - BitTorrent client package.

Dynamic DNS

Tools for updating dynamic DNS records.

  • GoDNS - A dynamic DNS client tool, supports DNSPod & HE.net, written in Go.

Email

Libraries and tools that implement email creation and sending.

  • smtp - SMTP server protocol state machine.

Embeddable Scripting Languages

Embedding other languages inside your go code.

  • tengo - Bytecode compiled script language for Go.

Error Handling

Libraries for handling errors.

  • tracerr - Golang errors with stack trace and source fragments.

File Handling

Libraries for handling files and file systems.

  • 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

Packages for accounting and finance.

  • vat - VAT number validation & EU VAT rates.

Forms

Libraries for working with forms.

  • queryparam - Decode url.Values into usable struct values of standard or custom types.

Functional

Packages to support functional programming in Go.

  • go-underscore - Useful collection of helpfully functional Go collection utilities.

Game Development

Awesome game development libraries.

  • tile - Data-oriented and cache-friendly 2D Grid library (TileMap), includes pathfinding, observers and import/export.

Generation and Generics

Tools to enhance the language with features like generics via code generation.

Geographic

Geographic tools and servers

  • WGS84 - Library for Coordinate Conversion and Transformation (ETRS89, OSGB36, NAD83, RGF93, Web Mercator, UTM).

Go Compilers

Tools for compiling Go to other languages.

  • tardisgo - Golang to Haxe to CPP/CSharp/Java/JavaScript transpiler.

Goroutines

Tools for managing and working with Goroutines.

  • workerpool - Goroutine pool that limits the concurrency of task execution, not the number of tasks queued.

GUI

Libraries for building GUI Applications.

Toolkits

  • webview - Cross-platform webview window with simple two-way JavaScript bindings (Windows / macOS / Linux).

Interaction

  • trayhost - Cross-platform Go library to place an icon in the host operating system's taskbar.

Hardware

Libraries, tools, and tutorials for interacting with hardware.

See go-hardware for a comprehensive list.

Images

Libraries for manipulating images.

  • tga - Package tga is a TARGA image format decoder/encoder.

IoT (Internet of Things)

Libraries for programming devices of the IoT.

  • sensorbee - Lightweight stream processing engine for IoT.

Job Scheduler

Libraries for scheduling jobs.

JSON

Libraries for working with JSON.

  • mp - Simple cli email parser. It currently takes stdin and outputs JSON.

Logging

Libraries for generating and working with log files.

  • zerolog - Zero-allocation JSON logger.

Machine Learning

Libraries for Machine Learning.

  • Varis - Golang Neural Network.

Messaging

Libraries that implement messaging systems.

Microsoft Office

  • unioffice - Pure go library for creating and processing Office Word (.docx), Excel (.xlsx) and Powerpoint (.pptx) documents.

Microsoft Excel

Libraries for working with Microsoft Excel.

  • xlsx - Fast and safe way to read/update your existing Microsoft Excel files in Go programs.

Miscellaneous

Dependency Injection

Libraries for working with dependency injection.

  • wire - Strict Runtime Dependency Injection for Golang.

Project Layout

Unofficial set of patterns for structuring projects.

  • scaffold - Scaffold generates starter Go project layout. Lets you focus on business logic implemeted.

Strings

Libraries for working with strings.

  • xstrings - Collection of useful string functions ported from other languages.

Uncategorized

These libraries were placed here because none of the other categories seemed to fit.

  • xkg - X Keyboard Grabber.

Natural Language Processing

Libraries for working with human languages.

  • when - Natural EN and RU language date/time parser with pluggable rules.

Networking

Libraries for working with various layers of the network.

  • xtcp - TCP Server Framework with simultaneous full duplex communication,graceful shutdown,custom protocol.

HTTP Clients

Libraries for making HTTP requests.

  • rq - A nicer interface for golang stdlib HTTP client.
  • sling - Sling is a Go HTTP client library for creating and sending API requests.

OpenGL

Libraries for using OpenGL in Go.

  • mathgl - Pure Go math package specialized for 3D math, with inspiration from GLM.

ORM

Libraries that implement Object-Relational Mapping or datamapping techniques.

  • Zoom - Blazing-fast datastore and querying engine built on Redis.

Package Management

Official tooling for dependency and package management

  • go modules - Modules are the unit of source code interchange and versioning. The go command has direct support for working with modules, including recording and resolving dependencies on other modules.

Official experimental tooling for package management

  • dep - Go dependency tool.
  • vgo - Versioned Go.

Unofficial libraries for package and dependency management.

  • VenGO - create and manage exportable isolated go virtual environments.

Performance

  • tracer - Simple, lightweight tracing.

Query Language

  • straf - Easily Convert Golang structs to GraphQL objects.

Resource Embedding

  • vfsgen - Generates a vfsdata.go file that statically implements the given virtual filesystem.

Science and Data Analysis

Libraries for scientific computing and data analyzing.

  • triangolatte - 2D triangulation library. Allows translating lines and polygons (both based on points) to the language of GPUs.

Security

Libraries that are used to help make your application more secure.

  • themis - high-level cryptographic library for solving typical data security tasks (secure data storage, secure messaging, zero-knowledge proof authentication), available for 14 languages, best fit for multi-platform apps.

Serialization

Libraries and tools for binary serialization.

  • structomap - Library to easily and dynamically generate maps from static structures.

Server Applications

  • Trickster - HTTP reverse proxy cache and time series accelerator.

Stream Processing

Libraries and tools for stream processing and reactive programming.

Template Engines

Libraries and tools for templating and lexing.

  • velvet - Complete handlebars implementation in Go.

Testing

Libraries for testing codebases and generating test data.

  • Testing Frameworks * wstest - Websocket client for unit-testing a websocket http.Handler.

  • Mock

    • hoverfly - HTTP(S) proxy for recording and simulating REST/SOAP APIs with extensible middleware and easy-to-use CLI.
    • timex - A test-friendly replacement for the native time package.
  • Fuzzing and delta-debugging/reducing/shrinking.

    • Tavor - Generic fuzzing and delta-debugging framework.
  • Selenium and browser control tools. * selenoid - alternative Selenium hub server that launches browsers within containers.

  • Fail injection

Text Processing

Libraries for parsing and manipulating texts.

  • Specific Formats
    • toml - TOML configuration format (encoder/decoder with reflection).
  • Utility
    • xurls - Extract urls from text.

Third-party APIs

Libraries for accessing third party APIs.

  • zooz - Go client for the Zooz API.

Utilities

General utilities and tools to make your life easier.

  • go-bind-plugin - go:generate tool for wrapping symbols exported by golang plugins (1.8 only).

UUID

Libraries for working with UUIDs.

  • wuid - An extremely fast unique number generator, 10-135 times faster than UUID.

Validation

Libraries for validation.

  • validator - Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving.

Version Control

Libraries for version control.

  • hgo - Hgo is a collection of Go packages providing read-access to local Mercurial repositories.

Video

Libraries for manipulating video.

  • v4l - Video capture library for Linux, written in Go.

Web Frameworks

Full stack web frameworks.

  • YARF - Fast micro-framework designed to build REST APIs and web services in a fast and simple way.

Middlewares

Actual middlewares

  • XFF - Handle X-Forwarded-For header and friends.

Libraries for creating HTTP middlewares

  • stats - Go middleware that stores various information about your web application.

Routers

WebAssembly

  • webapi - Bindings for DOM and HTML generated from WebIDL.

Windows

  • gosddl - Converter from SDDL-string to user-friendly JSON. SDDL consist of four part: Owner, Primary Group, DACL, SACL.

XML

Libraries and tools for manipulating XML.

  • zek - Generate a Go struct from XML.

Tools

Go software and plugins.

Code Analysis

  • validate - Automatically validates struct fields with tags.

Editor Plugins

  • Watch - Runs a command in an acme win on file changes.

Go Generate Tools

  • xgen - XSD (XML Schema Definition) parser and Go/C/Java/Rust/TypeScript code generator.

Go Tools

  • typex - Examine Go types and their transitive dependencies, alternatively export results as TypeScript value objects (or types) declaration.

Software Packages

Software written in Go.

DevOps Tools

  • winrm-cli - Cli tool to remotely execute commands on Windows machines.

Other Software

  • wellington - Sass project management tool, extends the language with sprite functions (like Compass).

Resources

Where to discover new Go libraries.

Benchmarks

  • speedtest-resize - Compare various Image resize algorithms for the Go language.

Conferences

E-Books

Gophers

  • gophers - Gopher amigurumi toy pattern.

Meetups

Add the group of your city/country here (send PR)

Style Guides

About

仓颉语言优秀项目

Topics

Resources

License

Stars

Watchers

Forks