zero-alloc-awesome-go
Zero Allocation Golang Packages / Stuff
https://github.com/cloudxaas/zero-alloc-awesome-go
Last synced: 15 days ago
JSON representation
-
Serialization
-
HTTP Clients
- mapstructure - Go library for decoding generic map values into native Go structures.
- php_session_decoder - GoLang library for working with PHP session format and PHP Serialize/Unserialize functions.
- pletter - A standard way to wrap a proto message for message brokers.
- unitpacking - Library to pack unit vectors into as fewest bytes as possible.
- asn1 - Asn.1 BER and DER encoding library for golang.
- structomap - Library to easily and dynamically generate maps from static structures.
- bel - Generate TypeScript interfaces from Go structs/interfaces. Useful for JSON RPC.
-
-
Server Applications
-
HTTP Clients
- nsq - A realtime distributed messaging platform.
- algernon - HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber.
- Caddy - Caddy is an alternative, HTTP/2 web server that's easy to configure and use.
- cortex-tenant - Prometheus remote write proxy that adds add Cortex tenant ID header based on metric labels.
- devd - Local webserver for developers.
- discovery - A registry for resilient mid-tier load balancing and failover.
- dudeldu - A simple SHOUTcast server.
- dummy - Run mock server based off an API contract with one command.
- Euterpe - Self-hosted music streaming server with built-in web UI and REST API.
- Fider - Fider is an open platform to collect and organize customer feedback.
- go-feature-flag - A feature flag solution, with only a YAML file in the backend (S3, GitHub, HTTP, local file ...), no server to install, just add a file in a central system and refer to it.
- go-proxy-cache - Simple Reverse Proxy with Caching, written in Go, using Redis.
- jackal - An XMPP server written in Go.
- lets-proxy2 - Reverse proxy for handle https with issue certificates in fly from lets-encrypt.
- minio - Minio is a distributed object storage server.
- Moxy - Moxy is a simple mocker and proxy application server, you can create mock endpoints as well as proxy requests in case no mock exists for the endpoint.
- nginx-prometheus - Nginx log parser and exporter to Prometheus.
- protoxy - A proxy server that converts JSON request bodies to Protocol Buffers.
- psql-streamer - Stream database events from PostgreSQL to Kafka.
- riemann-relay - Relay to load-balance Riemann events and/or convert them to Carbon.
- SFTPGo - Fully featured and highly configurable SFTP server with optional FTP/S and WebDAV support. It can serve local filesystem and Cloud Storage backends such as S3 and Google Cloud Storage.
- simple-jwt-provider - Simple and lightweight provider which exhibits JWTs, supports login, password-reset (via mail) and user management.
- Wish - Make SSH apps, just like that!
- RoadRunner - High-performance PHP application server, load-balancer and process manager.
- etcd - Highly-available key value store for shared configuration and service discovery.
- Flagr - Flagr is an open-source feature flagging and A/B testing service.
- Easegress - A cloud native high availability/performance traffic orchestration system with observability and extensibility.
- consul - Consul is a tool for service discovery, monitoring and configuration.
- flipt - A self contained feature flag solution written in Go and Vue.js
-
-
Social Media
-
Stream Processing
-
HTTP Clients
- go-streams - Go stream processing library.
- goio - An implementation of IO, Stream, Fiber for Golang, inspired by awesome Scala libraries cats and fs2.
- machine - Go library for writing and generating stream workers with built in metrics and traceability.
- stream - Go Stream, like Java 8 Stream: Filter/Map/FlatMap/Peek/Sorted/ForEach/Reduce...
-
-
Style Guides
-
Free e-books
-
-
Template Engines
-
HTTP Clients
- ego - Lightweight templating language that lets you write templates in Go. Templates are translated into Go and compiled.
- extemplate - Tiny wrapper around html/template to allow for easy file-based template inheritance.
- fasttemplate - Simple and fast template engine. Substitutes template placeholders up to 10x faster than [text/template](https://golang.org/pkg/text/template/).
- gospin - Article spinning and spintax/spinning syntax engine, useful for A/B, testing pieces of text/articles and creating more natural conversations.
- got - A Go code generator inspired by Hero and Fasttemplate. Has include files, custom tag definitions, injected Go code, language translation, and more.
- goview - Goview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application.
- jet - Jet template engine.
- liquid - Go implementation of Shopify Liquid templates.
- maroto - A maroto way to create PDFs. Maroto is inspired in Bootstrap and uses gofpdf. Fast and simple.
- pongo2 - Django-like template-engine for Go.
- quicktemplate - Fast, powerful, yet easy to use template engine. Converts templates into Go code and then compiles it.
- raymond - Complete handlebars implementation in Go.
- Razor - Razor view engine for Golang.
- Soy - Closure templates (aka Soy templates) for Go, following the [official spec](https://developers.google.com/closure/templates/).
- sprig - Useful template functions for Go templates.
- tbd - A really simple way to create text templates with placeholders - exposes extra builtin Git repo metadata.
-
-
Testing
-
HTTP Clients
- gocheck - More advanced testing framework alternative to gotest.
- assert - Basic Assertion Library used along side native go testing, with building blocks for custom assertions.
- baloo - Expressive and versatile end-to-end HTTP API testing made easy.
- biff - Bifurcation testing framework, BDD compatible.
- charlatan - Tool to generate fake interface implementations for tests.
- covergates - Self-hosted code coverage report review and management service.
- cupaloy - Simple snapshot testing addon for your test framework.
- dbcleaner - Clean database for testing purpose, inspired by `database_cleaner` in Ruby.
- dsunit - Datastore testing for SQL, NoSQL, structured files.
- embedded-postgres - Run a real Postgres database locally on Linux, OSX or Windows as part of another Go application or test.
- endly - Declarative end to end functional testing.
- fixenv - Fixture manage engine, inspired by pytest fixtures.
- fluentassert - Extensible, type-safe, fluent assertion Go library.
- flute - HTTP client testing framework.
- gherkingen - BDD boilerplate generator and framework.
- ginkgo - BDD Testing Framework for Go.
- gnomock - integration testing with real dependencies (database, cache, even Kubernetes or AWS) running in Docker, without mocks.
- go-carpet - Tool for viewing test coverage in terminal.
- go-cmp - Package for comparing Go values in tests.
- go-hit - Hit is an http integration test framework written in golang.
- go-mutesting - Mutation testing for Go source code.
- go-mysql-test-container - Golang MySQL testcontainer to help with MySQL integration testing.
- be - The minimalist generic test assertion library.
- frisby - REST API testing framework.
- badio - Extensions to Go's `testing/iotest` package.
- commander - Tool for testing cli applications on windows, linux and osx.
- go-testdeep - Extremely flexible golang deep comparison, extends the go testing package.
- go-testpredicate - Test predicate style assertions library with extensive diagnostics output.
- go-vcr - Record and replay your HTTP interactions for fast, deterministic and accurate tests.
- goblin - Mocha like testing framework fo Go.
- goc - Goc is a comprehensive coverage testing system for The Go Programming Language.
- gocrest - Composable hamcrest-like matchers for Go assertions.
- godog - Cucumber BDD framework for Go.
- gofight - API Handler Testing for Golang Router framework.
- gogiven - YATSPEC-like BDD testing framework for Go.
- gomatch - library created for testing JSON against patterns.
- gomega - Rspec like matcher/assertion library.
- gospecify - This provides a BDD syntax for testing your Go code. It should be familiar to anybody who has used libraries such as rspec.
- gosuite - Brings lightweight test suites with setup/teardown facilities to `testing` by leveraging Go1.7's Subtests.
- got - An enjoyable golang test framework.
- gotest.tools - A collection of packages to augment the go testing package and support common patterns.
- Hamcrest - fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results.
- httpexpect - Concise, declarative, and easy to use end-to-end HTTP and REST API testing.
- is - Professional lightweight testing mini-framework for Go.
- jsonassert - Package for verifying that your JSON payloads are serialized correctly.
- omg.testingtools - The simple library for change a values of private fields for testing.
- schema - Quick and easy expression matching for JSON schemas used in requests and responses.
- stop-and-go - Testing helper for concurrency.
- testcase - Idiomatic testing framework for Behavior Driven Development.
- testcontainers-go - A Go package that makes it simple to create and clean up container-based dependencies for automated integration/smoke tests. The clean, easy-to-use API enables developers to programmatically define containers that should be run as part of a test and clean up those resources when the test is done.
- testfixtures - A helper for Rails' like test fixtures to test database applications.
- Testify - Sacred extension to the standard go testing package.
- testsql - Generate test data from SQL files before testing and clear it after finished.
- testza - Full-featured test framework with nice colorized output.
- trial - Quick and easy extendable assertions without introducing much boilerplate.
- Tt - Simple and colorful test tools.
- wstest - Websocket client for unit-testing a websocket http.Handler.
- counterfeiter - Tool for generating self-contained mock objects.
- genmock - Go mocking system with code generator for building calls of the interface methods.
- go-localstack - Tool for using localstack in AWS testing.
- go-sqlmock - Mock SQL driver for testing database interactions.
- go-txdb - Single transaction based database driver mainly for testing purposes.
- gock - Versatile HTTP mocking made easy.
- gomock - Mocking framework for the Go programming language.
- govcr - HTTP mock for Golang: record and replay HTTP interactions for offline testing.
- hoverfly - HTTP(S) proxy for recording and simulating REST/SOAP APIs with extensible middleware and easy-to-use CLI.
- httpmock - Easy mocking of HTTP responses from external resources.
- minimock - Mock generator for Go interfaces.
- mockery - Tool to generate Go interfaces.
- mockhttp - Mock object for Go http.ResponseWriter.
- mockit - Allows functions and method easy mocking, without defining new types; it's similar to Mockito for Java.
- mooncake - A simple way to generate mocks for multiple purposes
- timex - A test-friendly replacement for the native `time` package.
- go-fuzz - Randomized testing system.
- gofuzz - Library for populating go objects with random values.
- Tavor - Generic fuzzing and delta-debugging framework.
- cdp - Type-safe bindings for the Chrome Debugging Protocol that can be used with browsers or other debug targets that implement it.
- ggr - a lightweight server that routes and proxies Selenium WebDriver requests to multiple Selenium hubs.
- rod - A Devtools driver to make web automation and scraping easy.
- selenoid - alternative Selenium hub server that launches browsers within containers.
- failpoint - An implementation of [failpoints](https://www.freebsd.org/cgi/man.cgi?query=fail) for Golang.
- GoSpec - BDD-style testing framework for the Go programming language.
- GoConvey - BDD-style framework with web UI and live reload.
- Gont - Go network testing toolkit for testing building complex network topologies using Linux namespaces.
- chromedp - a way to drive/test Chrome, Safari, Edge, Android Webviews, and other browsers supporting the Chrome Debugging Protocol.
- restit - Go micro framework to help writing RESTful API integration test.
- go-snaps - Jest-like snapshot testing in Golang.
- playwright-go - browser automation library to control Chromium, Firefox and WebKit with a single API.
-
-
Text Processing
-
Formatters
- bytes - Formats and parses numeric byte values (10K, 2M, 3G, etc.).
- address - Handles address representation, validation and formatting.
- align - A general purpose application that aligns text.
- go-fixedwidth - Fixed-width text formatting (encoder/decoder with reflection).
- go-humanize - Formatters for time, numbers, and memory size to human readable format.
- gotabulate - Easily pretty-print your tabular data with Go.
- textwrap - Wraps text at end of lines. Implementation of `textwrap` module from Python.
-
Markup Languages
- bafi - Universal JSON, BSON, YAML, XML translator to ANY format using templates.
- bbConvert - Converts bbCode to HTML that allows you to add support for custom bbCode tags.
- blackfriday - Markdown processor in Go.
- go-toml - Go library for the TOML format with query support and handy cli tools.
- goldmark - A Markdown parser written in Go. Easy to extend, standard (CommonMark) compliant, well structured.
- goq - Declarative unmarshaling of HTML using struct tags with jQuery syntax (uses GoQuery).
- html-to-markdown - Convert HTML to Markdown. Even works with entire websites and can be extended through rules.
- htmlquery - An XPath query package for HTML, lets you extract data or evaluate from HTML documents by an XPath expression.
- htmlyaml - Rich rendering of YAML as HTML in Go
- mxj - Encode / decode XML as JSON or map[string]interface{}; extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages.
- toml - TOML configuration format (encoder/decoder with reflection).
- go-output-format - Output go structures into multiple formats (YAML/JSON/etc) in your command line app.
- github_flavored_markdown - GitHub Flavored Markdown renderer (using blackfriday) with fenced code block highlighting, clickable header anchor links.
-
Parsers/Encoders/Decoders
- allot - Placeholder and wildcard text parsing for CLI tools and bots.
- codetree - Parses indented code (python, pixy, scarlet, etc.) and returns a tree structure.
- commonregex - A collection of common regular expressions for Go.
- doi - Document object identifier (doi) parser in Go.
- editorconfig-core-go - Editorconfig file parser and manipulator for Go.
- encdec - Package provides a generic interface to encoders and decoders.
- go-fasttld - High performance effective top level domains (eTLD) extraction module.
- go-nmea - NMEA parser library for the Go language.
- go-vcard - Parse and format vCard.
- gofeed - Parse RSS and Atom feeds in Go.
- gographviz - Parses the Graphviz DOT language.
- gonameparts - Parses human names into individual name parts.
- ltsv - High performance [LTSV (Labeled Tab Separated Value)](http://ltsv.org/) reader for Go.
- normalize - Sanitize, normalize and compare fuzzy text.
- omniparser - A versatile ETL library that parses text input (CSV/txt/JSON/XML/EDI/X12/EDIFACT/etc) in streaming fashion and transforms data into JSON output using data-driven schema.
-
Programming Languages
Categories
Websites
97
Miscellaneous
96
Testing
88
Networking
84
Meetups
72
Messaging
54
Text Processing
48
Natural Language Processing
47
Machine Learning
39
Science and Data Analysis
34
Security
34
Server Applications
29
E-Books
27
ORM
22
Serialization
21
Template Engines
16
Package Management
16
Query Language
15
Social Media
12
Resource Embedding
12
Gophers
11
Style Guides
9
Microsoft Office
7
OpenGL
6
Performance
6
Stream Processing
4
Database
2
Logging
1
Goroutines
1
Sub Categories
HTTP Clients
320
Free e-books
106
Search and Analytic Databases
96
Transliteration
71
Uncategorized
59
Reddit
54
Tutorials
42
Parsers/Encoders/Decoders
23
Morphological Analyzers
17
Dependency Injection
16
Project Layout
14
E-books for purchase
13
Markup Languages
13
Twitter
11
Tokenizers
10
Translation
9
Formatters
7
Strings
7
Microsoft Excel
6
Regular Expressions
5
Language Detection
4
Slugifiers
3
Guided Learning
2
Caches
2
Keywords
golang
318
go
285
testing
43
golang-library
25
http
22
machine-learning
20
orm
18
json
16
dependency-injection
15
parser
14
database
14
sql
14
docker
13
mysql
12
postgresql
11
golang-package
11
redis
11
library
10
security
10
websocket
10
cli
9
test
9
assertions
8
mock
8
sqlite
8
neural-network
8
framework
8
pubsub
8
http-client
8
nlp
8
rabbitmq
8
event-driven
7
server
7
rest-api
7
template
7
streaming
6
kubernetes
6
message-bus
6
mocking
6
go-library
6
kafka
6
fast
6
template-engine
6
bdd
6
testing-tools
6
html
6
api
6
protobuf
6
tokenizer
6
https
6