zero-alloc-awesome-go
Zero Allocation Golang Packages / Stuff
https://github.com/cloudxaas/zero-alloc-awesome-go
Last synced: 15 days ago
JSON representation
-
Networking
-
Transliteration
- gopacket - Go library for packet processing with libpcap bindings.
- gopcap - Go wrapper for libpcap.
- goshark - Package goshark use tshark to decode IP packet and create data struct to analyse packet.
- gotcp - Go package for quickly writing tcp applications.
- graval - Experimental FTP server framework.
- gws - High-Performance WebSocket Server & Client With AsyncIO Supporting .
- httpproxy - HTTP proxy handler and dialer.
- iplib - Library for working with IP addresses (net.IP, net.IPNet), inspired by python [ipaddress](https://docs.python.org/3/library/ipaddress.html) and ruby [ipaddr](https://ruby-doc.org/stdlib-2.5.1/libdoc/ipaddr/rdoc/IPAddr.html)
- jazigo - Jazigo is a tool written in Go for retrieving configuration for multiple network devices.
- kcp-go - KCP - Fast and Reliable ARQ Protocol.
- kcptun - Extremely simple & fast udp tunnel based on KCP protocol.
- lhttp - Powerful websocket framework, build your IM server more easily.
- linkio - Network link speed simulation for Reader/Writer interfaces.
- llb - It's a very simple but quick backend for proxy servers. Can be useful for fast redirection to predefined domain with zero memory allocation and fast response.
- mdns - Simple mDNS (Multicast DNS) client/server library in Golang.
- nbio - Pure Go 1000k+ connections solution, support tls/http1.x/websocket and basically compatible with net/http, with high-performance and low memory cost, non-blocking, event-driven, easy-to-use.
- netpoll - A high-performance non-blocking I/O networking framework, which focused on RPC scenarios, developed by ByteDance.
- packet - Send packets over TCP and UDP. It can buffer messages and hot-swap connections if needed.
- panoptes-stream - A cloud native distributed streaming network telemetry (gNMI, Juniper JTI and Cisco MDT).
- peerdiscovery - Pure Go library for cross-platform local peer discovery using UDP multicast.
- portproxy - Simple TCP proxy which adds CORS support to API's which don't support it.
- publicip - Package publicip returns your public facing IPv4 address (internet egress).
- raw - Package raw enables reading and writing data at the device driver level for a network interface.
- sftp - Package sftp implements the SSH File Transfer Protocol as described in <https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt>.
- ssh - Higher-level API for building SSH servers (wraps crypto/ssh).
- sslb - It's a Super Simples Load Balancer, just a little project to achieve some kind of performance.
- tcp_server - Go library for building tcp servers faster.
- tspool - A TCP Library use worker pool to improve performance and protect your server.
- utp - Go uTP micro transport protocol implementation.
- vssh - Go library for building network and server automation over SSH protocol.
- water - Simple TUN/TAP library.
- winrm - Go WinRM client to remotely execute commands on Windows machines.
- xtcp - TCP Server Framework with simultaneous full duplex communication, graceful shutdown, and custom protocol.
- gosnmp - Native Go library for performing SNMP actions.
- HTTPLab - HTTPLabs let you inspect HTTP requests and forge responses.
- stun - Go implementation of RFC 5389 STUN protocol.
- mqttPaho - The Paho Go Client provides an MQTT client library for connection to MQTT brokers via TCP, TLS or WebSockets.
- quic-go - An implementation of the QUIC protocol in pure Go.
- NFF-Go - Framework for rapid development of performant network functions for cloud and bare-metal (former YANFF).
- fullproxy - A fully featured scriptable and daemon configurable proxy and pivoting toolkit with SOCKS5, HTTP, raw ports and reverse proxy protocols.
- grab - Go package for managing file downloads.
-
-
OpenGL
-
HTTP Clients
- gl - Go bindings for OpenGL (generated via glow).
- glfw - Go bindings for GLFW 3.
- go-glmatrix - Go port of [glMatrix](https://glmatrix.net/) library.
- goxjs/gl - Go cross-platform OpenGL bindings (OS X, Linux, Windows, browsers, iOS, Android).
- goxjs/glfw - Go cross-platform glfw library for creating an OpenGL context and receiving events.
- mathgl - Pure Go math package specialized for 3D math, with inspiration from GLM.
-
-
ORM
-
HTTP Clients
- bun - SQL-first Golang ORM. Successor of go-pg.
- cacheme - Schema based, typed Redis caching/memoize framework for Go.
- go-firestorm - A simple ORM for Google/Firebase Cloud Firestore.
- go-sql - A easy ORM for mysql.
- go-sqlbuilder - A flexible and powerful SQL string builder library plus a zero-config ORM.
- go-store - Simple and fast Redis backed key-value store library for Go.
- golobby/orm - Simple, fast, type-safe, generic orm for developer happiness.
- GORM - The fantastic ORM library for Golang, aims to be developer friendly.
- gormt - Mysql database to golang gorm struct.
- gorp - Go Relational Persistence, ORM-ish library for Go.
- grimoire - Grimoire is a database access layer and validation for golang. (Support: MySQL, PostgreSQL and SQLite3).
- lore - Simple and lightweight pseudo-ORM/pseudo-struct-mapping environment for Go.
- marlow - Generated ORM from project structs for compile time safety assurances.
- pop/soda - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite.
- reform - Better ORM for Go, based on non-empty interfaces and code generation.
- rel - Modern Database Access Layer for Golang - Testable, Extendable and Crafted Into a Clean and Elegant API.
- upper.io/db - Single interface for interacting with different data sources through the use of adapters that wrap mature database drivers.
- XORM - Simple and powerful ORM for Go. (Support: MySQL, MyMysql, PostgreSQL, Tidb, SQLite3, MsSql and Oracle).
- Zoom - Blazing-fast datastore and querying engine built on Redis.
- Prisma - Prisma Client Go, Typesafe database access for Go.
- ent - An entity framework for Go. Simple, yet powerful ORM for modeling and querying data.
- SQLBoiler - ORM generator. Generate a featureful and blazing-fast ORM tailored to your database schema.
-
-
Package Management
-
HTTP Clients
- dep - Go dependency tool.
- glide - Manage your golang vendor and vendored packages with ease. Inspired by tools like Maven, Bundler, and Pip.
- godep - dependency tool for go, godep helps build packages reproducibly by fixing their dependencies.
- gom - Go Manager - bundle for go.
- gop - Build and manage your Go applications out of GOPATH.
- gopm - Go Package Manager.
- govendor - Go Package Manager. Go vendor tool that works with the standard vendor file.
- gpm - Barebones dependency manager for Go.
- gup - Update binaries installed by "go install".
- johnny-deps - Minimal dependency version using Git.
- modgv - Converts 'go mod graph' output into Graphviz's DOT language.
- mvn-golang - plugin that provides way for auto-loading of Golang SDK, dependency management and start build environment in Maven project infrastructure.
- VenGO - create and manage exportable isolated go virtual environments.
- goop - Simple dependency manager for Go (golang), inspired by Bundler.
- nut - Vendor Go dependencies.
- vgo - Versioned Go.
-
-
Performance
-
HTTP Clients
- go-instrument - Automatically add spans to all methods and functions.
- jaeger - A distributed tracing system.
- profile - Simple profiling support package for Go.
- statsviz - Live visualization of your Go application runtime statistics.
- tracer - Simple, lightweight tracing.
- pixie - No instrumentation tracing for Golang applications via eBPF.
-
-
Query Language
-
HTTP Clients
- api-fu - Comprehensive GraphQL implementation.
- dasel - Query and update data structures using selectors from the command line. Comparable to jq/yq but supports JSON, YAML, TOML and XML with zero runtime dependencies.
- gojsonq - A simple Go package to Query over JSON Data.
- goven - A drop-in query language for any database schema.
- gqlgen - go generate based graphql server library.
- graphql - graphql parser + utilities.
- graphql-go - Implementation of GraphQL for Go.
- gws - Apollos' "GraphQL over Websocket" client and server implementation.
- jsonpath - A query library for retrieving part of JSON based on JSONPath syntax.
- jsonql - JSON query expression library in Golang.
- jsonslice - Jsonpath queries with advanced filters.
- rql - Resource Query Language for REST API.
- rqp - Query Parser for REST API. Filtering, validations, both `AND`, `OR` operations are supported directly in the query.
- graphql - GraphQL server with a focus on ease of use.
- straf - Easily Convert Golang structs to GraphQL objects.
-
-
Resource Embedding
-
HTTP Clients
- debme - Create an `embed.FS` from an existing `embed.FS` subdirectory.
- fileb0x - Simple tool to embed files in go with focus on "customization" and ease to use.
- go-resources - Unfancy resources embedding with Go.
- go.rice - go.rice is a Go package that makes working with resources such as HTML, JS, CSS, images, and templates very easy.
- mule - Embed external resources like images, movies ... into Go source code to create single file binaries using `go generate`. Focused on simplicity.
- packr - The simple and easy way to embed static files into Go binaries.
- rebed - Recreate folder structures and files from Go 1.16's `embed.FS` type
- statics - Embeds static resources into go files for single binary compilation + works with http.FileSystem + symlinks.
- statik - Embeds static files into a Go executable.
- templify - Embed external template files into Go code to create single file binaries.
- vfsgen - Generates a vfsdata.go file that statically implements the given virtual filesystem.
- esc - Embeds files into Go programs and provides http.FileSystem interfaces to them.
-
-
Science and Data Analysis
-
HTTP Clients
- assocentity - Package assocentity returns the average distance from words to a given entity.
- bradleyterry - Provides a Bradley-Terry Model for pairwise comparisons.
- calendarheatmap - Calendar heatmap in plain Go inspired by Github contribution activity.
- chart - Simple Chart Plotting library for Go. Supports many graphs types.
- dataframe-go - Dataframes for machine-learning and statistics (similar to pandas).
- decimal - Package decimal implements arbitrary-precision decimal floating-point arithmetic.
- evaler - Simple floating point arithmetic expression evaluator.
- ewma - Exponentially-weighted moving averages.
- geom - 2D geometry for golang.
- go-estimate - State estimation and filtering algorithms in Go.
- go-gt - Graph theory algorithms written in "Go" language.
- godesim - Extended/multivariable ODE solver framework for event-based simulations with simple API.
- goent - GO Implementation of Entropy Measures.
- gograph - A golang generic graph library that provides mathematical graph-theory and algorithms.
- gohistogram - Approximate histograms for data streams.
- gonum - Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more.
- gonum/plot - gonum/plot provides an API for building and drawing plots in Go.
- goraph - Pure Go graph theory library(data structure, algorithm visualization).
- gosl - Go scientific library for linear algebra, FFT, geometry, NURBS, numerical methods, probabilities, optimisation, differential equations, and more.
- GoStats - GoStats is an Open Source GoLang library for math statistics mostly used in Machine Learning domains, it covers most of the Statistical measures functions.
- graph - Library of basic graph algorithms.
- jsonl-graph - Tool to manipulate JSONL graphs with graphviz support.
- ode - Ordinary differential equation (ODE) solver which supports extended states and channel-based iteration stop conditions.
- orb - 2D geometry types with clipping, GeoJSON and Mapbox Vector Tile support.
- pagerank - Weighted PageRank algorithm implemented in Go.
- piecewiselinear - Tiny linear interpolation library.
- PiHex - Implementation of the "Bailey-Borwein-Plouffe" algorithm for the hexadecimal number Pi.
- rootfinding - root-finding algorithms library for finding roots of quadratic functions.
- sparse - Go Sparse matrix formats for linear algebra supporting scientific and machine learning applications, compatible with gonum matrix libraries.
- stats - Statistics package with common functions missing from the Golang standard library.
- streamtools - general purpose, graphical tool for dealing with streams of data.
- TextRank - TextRank implementation in Golang with extendable features (summarization, weighting, phrase extraction) and multithreading (goroutine) support.
- triangolatte - 2D triangulation library. Allows translating lines and polygons (both based on points) to the language of GPUs.
- go-dsp - Digital Signal Processing for Go.
-
-
Security
-
HTTP Clients
- 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.
- acra - Network encryption proxy to protect database-based applications from data leaks: strong selective encryption, SQL injections prevention, intrusion detection system.
- age - A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.
- argon2-hashing - light wrapper around Go's argon2 package that closely mirrors with Go's standard library Bcrypt and simple-scrypt package.
- argon2pw - Argon2 password hash generation with constant-time password comparison.
- BadActor - In-memory, application-driven jailer built in the spirit of fail2ban.
- booster - Fast initramfs generator with full-disk encryption support.
- Cameradar - Tool and library to remotely hack RTSP streams from surveillance cameras.
- certificates - An opinionated tool for generating tls certificates.
- CertMagic - Mature, robust, and powerful ACME client integration for fully-managed TLS certificate issuance and renewal.
- Coraza - Enterprise-ready, modsecurity and OWASP CRS compatible WAF library.
- firewalld-rest - A rest application to dynamically update firewalld rules on a linux server.
- go-generate-password - Password generator that can be used on the cli or as a library.
- go-htpasswd - Apache htpasswd Parser for Go.
- go-yara - Go Bindings for [YARA](https://github.com/plusvic/yara), the "pattern matching swiss knife for malware researchers (and everyone else)".
- goArgonPass - Argon2 password hash and verification designed to be compatible with existing Python and PHP implementations.
- goSecretBoxPassword - A probably paranoid package for securely hashing and encrypting passwords.
- Interpol - Rule-based data generator for fuzzing and penetration testing.
- lego - Pure Go ACME client library and CLI tool (for use with Let's Encrypt).
- memguard - A pure Go library for handling sensitive values in memory.
- nacl - Go implementation of the NaCL set of API's.
- optimus-go - ID hashing and Obfuscation using Knuth's Algorithm.
- passlib - Futureproof password hashing library.
- secret - Prevent your secrets from leaking into logs, std\* etc.
- secure - HTTP middleware for Go that facilitates some quick security wins.
- secureio - An keyexchanging+authenticating+encrypting wrapper and multiplexer for `io.ReadWriteCloser` based on XChaCha20-poly1305, ECDH and ED25519.
- simple-scrypt - Scrypt package with a simple, obvious API and automatic cost calibration built-in.
- ssh-vault - encrypt/decrypt using ssh keys.
- sslmgr - SSL certificates made easy with a high level wrapper around acme/autocert.
- dongle - A simple, semantic and developer-friendly golang package for encoding&decoding and encryption&decryption.
- acmetool - ACME (Let's Encrypt) client tool with automatic renewal.
- go-password-validator - Password validator based on raw cryptographic entropy values.
- teler-waf - teler-waf is a Go HTTP middleware that provide teler IDS functionality to protect against web-based attacks and improve the security of Go-based web applications. It is highly configurable and easy to integrate into existing Go applications.
- autocert - Auto provision Let's Encrypt certificates and start a TLS server.
-
-
Serialization
-
HTTP Clients
- bambam - generator for Cap'n Proto schemas from go.
- binstruct - Golang binary decoder for mapping data into the structure.
- cbor - Small, safe, and easy CBOR encoding and decoding library.
- colfer - Code generation for the Colfer binary format.
- csvutil - High Performance, idiomatic CSV record encoding and decoding to native Go structures.
- elastic - Convert slices, maps or any other unknown value across different types at run-time, no matter what.
- fixedwidth - Fixed-width text formatting (UTF-8 supported).
- fwencoder - Fixed width file parser (encoding and decoding library) for Go.
- go-capnproto - Cap'n Proto library and parser for go.
- go-codec - High Performance, feature-Rich, idiomatic encode, decode and rpc library for msgpack, cbor and json, with runtime-based OR code-generation support.
- go-lctree - Provides a CLI and primitives to serialize and deserialize [LeetCode binary trees](https://support.leetcode.com/hc/en-us/articles/360011883654-What-does-1-null-2-3-mean-in-binary-tree-representation).
- gogoprotobuf - Protocol Buffers for Go with Gadgets.
- goprotobuf - Go support, in the form of a library and protocol compiler plugin, for Google's protocol buffers.
- jsoniter - High-performance 100% compatible drop-in replacement of "encoding/json".
-
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