546 Resources
Golang programming-language Libraries
The Go programming language
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Pineapple Lang is a simple programming language demo implements by Go
Pineapple Lang is a simple programming language demo implements by Go. It includes a hand-written recursive descent parser and a simple interpreter, although the language is not even Turing-complete. But this repo's main goal is to give beginners of compilation principles a warm up and a simple look at how a programming language is built.
The Slick programming language is an s-expression surface syntax for Go.
The Slick programming language The Slick programming language is a Lisp/Scheme-style s-expression surface syntax for the Go programming language, with
a decision & trigger framework backed by Google's Common Expression Language used in graphikDB
a decision & trigger framework backed by Google's Common Expression Language used in graphikDB
Generates data structure definitions from JSON files for any kind of programming language
Overview Archivist generates data structure definitions from JSON files for any kind of programming language. It also provides a library for golang to
Tool that can parse Go files into an abstract syntax tree and translate it to several programming languages.
GoDMT GoDMT, the one and only Go Data Model Translator. The goal of this project is to provide a tool that can parse Go files that include var, const,
Unified text diffing in Go (copy of the internal diffing packages the officlal Go language server uses)
gotextdiff - unified text diffing in Go This is a copy of the Go text diffing packages that the official Go language server gopls uses internally to g
Simple project to demonstrate the loading of eBPF programs via florianl/go-tc.
tc-skeleton Simple project to demonstrate the loading of eBPF programs via florianl/go-tc.
The Gorilla Programming Language
Gorilla Programming Language Gorilla is a tiny, dynamically typed, multi-engine programming language It has flexible syntax, a compiler, as well as an
HTTP User Agent parser for the Go programming language.
UserAgent is a Go library that parses HTTP User Agents. As an example: package main import ( "fmt" "github.com/mssola/user_agent" ) func ma
Goldorak GO is a mini framework for the Go programming language. (unfinished dead code)
Goldorak Go =========== Goldorak GO ! Rétrolaser en action Goldorak GO !! Va accomplir ta mission Dans l'infini Des galaxies Poursuis ta lu
Goal is a toolkit for high productivity web development in Go language in the spirit of Revel Framework that is built around the concept of code generation.
Goal Goal is a set of tools for high productivity web development in Go language. Goal, being mostly inspired by Revel Framework and its discussions,
Package telnet provides TELNET and TELNETS client and server implementations, for the Go programming language, in a style similar to the "net/http" library that is part of the Go standard library, including support for "middleware"; TELNETS is secure TELNET, with the TELNET protocol over a secured TLS (or SSL) connection.
go-telnet Package telnet provides TELNET and TELNETS client and server implementations, for the Go programming language. The telnet package provides a
A(nother) Bittorrent client written in the go programming language
Taipei Torrent This is a simple command-line-interface BitTorrent client coded in the go programming language. Features: Supports multiple torrent fil
String i18n utilities for the Go Programming Language
About polyglot polyglot is a String translation package and tool for Go. Setup Make sure you have a working Go installation. See Getting Started Now r
:ab: GNU gettext for Go (Imported By Kubernetes)
Go语言QQ群: 102319854, 1055927514 凹语言(凹读音“Wa”)(The Wa Programming Language): https://github.com/wa-lang/wa gettext-go: GNU gettext for Go (Imported By Ku
A URL shortener using http://is.gd/ and the Go programming language (http://golang.org/)
goisgd A simple command line URL shortener using http://is.gd/. Getting the Code go get github.com/NickPresta/GoURLShortener Usage Import this librar
Hosting of the "Programming DIY / Программирование - это просто!" blog
This repository contains materials of the personal blog "Программирование - это просто / Programming DIY". How to use the blog engine A blog post abou
Scripting language for Go.
Minima Minima is an experimental interpreter written in Go (the language is called the same). We needed a way to massage our JSON data with a scriptin
A dialect of Lisp extended to support concurrent programming, written in Go.
LispEx A dialect of Lisp extended to support concurrent programming. Overview LispEx is another Lisp Interpreter implemented with Go. The syntax, sema
PHP bindings for the Go programming language (Golang)
PHP bindings for Go This package implements support for executing PHP scripts, exporting Go variables for use in PHP contexts, attaching Go method rec
An LL(1) parser generator for the Go programming language.
What is it? I have implemented an LL(1) parser generator for the Go programming language. I did this to build parse trees for my HAML parser. You can
Port of the lemon parser generator to the Go programming language
From the golang-nuts mailing list (with few modifications): --== intro ==-- Hi. I just want to announce a simple port of the lemon parser generator
Golem is a general purpose, interpreted scripting language.
The Golem Programming Language Golem is a general purpose, interpreted scripting language, that brings together ideas from many other languages, inclu
A BASIC interpreter written in golang.
05 PRINT "Index" 10 PRINT "GOBASIC!" 20 PRINT "Limitations" Arrays Line Numbers IF Statement DATA / READ Statements Builtin Functions Types 30 PRINT "
Gentee - script programming language for automation. It uses VM and compiler written in Go (Golang).
Gentee script programming language Gentee is a free open source script programming language. The Gentee programming language is designed to create scr
Expression evaluation engine for Go: fast, non-Turing complete, dynamic typing, static typing
Expr Expr package provides an engine that can compile and evaluate expressions. An expression is a one-liner that returns a value (mostly, but not lim
A bytecode-based virtual machine to implement scripting/filtering support in your golang project.
eval-filter Implementation Scripting Facilities Types Built-In Functions Conditionals Loops Functions Case/Switch Use Cases Security Denial of service
Scriptable interpreter written in golang
Anko Anko is a scriptable interpreter written in Go. (Picture licensed under CC BY-SA 3.0, photo by Ocdp) Usage Example - Embedded package main impor
a dynamically typed, garbage collected, embeddable programming language built with Go
The agora programming language Agora is a dynamically typed, garbage collected, embeddable programming language. It is built with the Go programming l
A library for parallel programming in Go
pargo A library for parallel programming in Go Package pargo provides functions and data structures for expressing parallel algorithms. While Go is pr
go language generics system
Gotgo This document describes the third iteration of my attempt at a reasonable implementation of generics for go based on the idea of template packag
Go language interface to the PAPI performance API
go-papi Description go-papi provides a Go interface to PAPI, the Performance Application Programming Interface. PAPI provides convenient access to har
Simple interface to libmagic for Go Programming Language
File Magic in Go Introduction Provides simple interface to libmagic for Go Programming Language. Table of Contents Contributing Versioning Author Copy
Flow-based and dataflow programming library for Go (golang)
GoFlow - Dataflow and Flow-based programming library for Go (golang) Status of this branch (WIP) Warning: you are currently on v1 branch of GoFlow. v1
FreeSWITCH Event Socket library for the Go programming language.
eventsocket FreeSWITCH Event Socket library for the Go programming language. It supports both inbound and outbound event socket connections, acting ei
Functional programming library for Go including a lazy list implementation and some of the most usual functions.
functional A functional programming library including a lazy list implementation and some of the most usual functions. import FP "github.com/tcard/fun
A diff tool especially for Go language.
go-diff A diff tool for Go languange. It shows the semantic differences between two Go source files. Ignored Difference Order of import statements Ord
Compare various Image resize algorithms for the Go language
speedtest-resize Compare various Image resize algorithms for the Go language I am writing a web gallery called gonagall in Go (https://github.com/fawi
Go micro-benchmarks for calculating the speed of language constructs
== About == Gospeed is a library of micro-benchmarks for Go which evolved from the GoLightly project. It's main utility is for understanding and reas
Benchmarks of common basic operations for the Go language.
gocostmodel This package was inspired by Brian W. Kernighan and Rob Pike's book "The Practice of Programming" (Addison-Wesley, 1999). In Chapter 7 on
webhook is a lightweight incoming webhook server to run shell commands
What is webhook? webhook is a lightweight configurable tool written in Go, that allows you to easily create HTTP endpoints (hooks) on your server, whi
Build powerful pipelines in any programming language.
Gaia is an open source automation platform which makes it easy and fun to build powerful pipelines in any programming language. Based on HashiCorp's g
Unit tests generator for Go programming language
GoUnit GoUnit is a commandline tool that generates tests stubs based on source function or method signature. There are plugins for Vim Emacs Atom Subl
Theia Go Extension
Theia Go Extension An extension for the Theia-IDE to support the Go language, using the Go language server. Getting started Install nvm. curl -o- http
An autocompletion daemon for the Go programming language
An autocompletion daemon for the Go programming language VERY IMPORTANT: this project is not maintained anymore, look for alternatives or forks if you
Emacs mode for the Go programming language
This is go-mode, the Emacs mode for editing Go code. It is a complete rewrite of the go-mode that shipped with Go 1.0.3 and before, and was part of Go
A Go language server.
A Go Language Server based on the Go Extension for Visual Studio Code Wraps the VSCode Go extension from Microsoft into a language server, such that i
Parser and generator of M3U8-playlists for Apple HLS. Library for Go language. :cinema:
M3U8 This is the most complete opensource library for parsing and generating of M3U8 playlists used in HTTP Live Streaming (Apple HLS) for internet vi
An idiomatic Go (golang) validation package. Supports configurable and extensible validation rules (validators) using normal language constructs instead of error-prone struct tags.
ozzo-validation Description ozzo-validation is a Go package that provides configurable and extensible data validation capabilities. It has the followi
Simple Shopify API for the Go Programming Language
go-shopify Simple API made with go to make CRUD request to your Shopify Store. Installation go get github.com/rapito/go-shopify How-to-use Get Reques
Google Cloud Messaging for application servers implemented using the Go programming language.
gcm The Android SDK provides a nice convenience library (com.google.android.gcm.server) that greatly simplifies the interaction between Java-based app
Firebase Cloud Messaging for application servers implemented using the Go programming language.
Firebase Cloud Notifications Client Firebase Cloud Messaging for application servers implemented using the Go programming language. It's designed for
AWS SDK for the Go programming language.
AWS SDK for Go aws-sdk-go is the official AWS SDK for the Go programming language. Checkout our release notes for information about the latest bug fix
Guess the natural language of a text in Go
guesslanguage This is a Go version of python guess-language. guesslanguage provides a simple way to detect the natural language of unicode string and
Go (Golang) GNU gettext utilities package
Gotext GNU gettext utilities for Go. Features Implements GNU gettext support in native Go. Complete support for PO files including: Support for multil
Parses the Graphviz DOT language in golang
Parses the Graphviz DOT language and creates an interface, in golang, with which to easily create new and manipulate existing graphs which can be writ
Go library for the TOML language
go-toml Go library for the TOML format. This library supports TOML version v1.0.0-rc.3 Features Go-toml provides the following features for using data
Package cdp provides type-safe bindings for the Chrome DevTools Protocol (CDP), written in the Go programming language.
cdp Package cdp provides type-safe bindings for the Chrome DevTools Protocol (CDP), written in the Go programming language. The bindings are generated
Powerful mock generation tool for Go programming language
Summary Minimock generates mocks out of Go interface declarations. The main features of minimock are: It generates statically typed mocks and helpers.
GoMock is a mocking framework for the Go programming language.
gomock GoMock is a mocking framework for the Go programming language. It integrates well with Go's built-in testing package, but can be used in other
Hamcrest matchers for the Go programming language
Note: This has not been maintained and/or updated since 2011. Perhaps consider corbym/gocrest, instead. Introduction Hamcrest is a fluent framework fo
A Comprehensive Coverage Testing System for The Go Programming Language
goc 中文页 | goc is a comprehensive coverage testing system for The Go Programming Language, especially for some complex scenarios, like system testing c
The mustache template language in Go
Overview mustache.go is an implementation of the mustache template language in Go. It is better suited for website templates than Go's native pkg/temp
An ERB-style templating language for Go.
Ego Ego is an ERb style templating language for Go. It works by transpiling templates into pure Go and including them at compile time. These templates
Amber is an elegant templating engine for Go Programming Language, inspired from HAML and Jade
amber Notice While Amber is perfectly fine and stable to use, I've been working on a direct Pug.js port for Go. It is somewhat hacky at the moment but
2D triangulation library. Allows translating lines and polygons (both based on points) to the language of GPUs.
triangolatte 2D triangulation library. Allows translating lines and polygons (both based on points) to the language of GPUs. Features normal and miter
Linear algebra, eigenvalues, FFT, Bessel, elliptic, orthogonal polys, geometry, NURBS, numerical quadrature, 3D transfinite interpolation, random numbers, Mersenne twister, probability distributions, optimisation, differential equations.
Gosl - Go scientific library Gosl is a set of tools for developing scientific simulations using the Go language. We mainly consider the development of
Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more
Gonum Installation The core packages of the Gonum suite are written in pure Go with some assembly. Installation is done using go get. go get -u gonum.
Resource Query Language for REST
RQL is a resource query language for REST. It provides a simple and light-weight API for adding dynamic querying capabilities to web-applications that
Converts 'go mod graph' output into Graphviz's DOT language
modgv Converts 'go mod graph' output into GraphViz's DOT language. takes no options or arguments it reads the output generated by “go mod graph” on st
A natural language date/time parser with pluggable rules
when when is a natural language date/time parser with pluggable rules and merge strategies Examples tonight at 11:10 pm at Friday afternoon the deadli
Natural language detection library for Go
Whatlanggo Natural language detection for Go. Features Supports 84 languages 100% written in Go No external dependencies Fast Recognizes not only a la
Stemmer packages for Go programming language. Includes English, German and Dutch stemmers.
Stemmer package for Go Stemmer package provides an interface for stemmers and includes English, German and Dutch stemmers as sub-packages: porter2 sub
Self-contained Machine Learning and Natural Language Processing library in Go
If you like the project, please ★ star this repository to show your support! 🤩 A Machine Learning library written in pure Go designed to support rele
A Golang library for text processing, including tokenization, part-of-speech tagging, and named-entity extraction.
prose is a natural language processing library (English only, at the moment) in pure Go. It supports tokenization, segmentation, part-of-speech tagging, and named-entity extraction.
Selected Machine Learning algorithms for natural language processing and semantic analysis in Golang
Natural Language Processing Implementations of selected machine learning algorithms for natural language processing in golang. The primary focus for t
[UNMANTEINED] Extract values from strings and fill your structs with nlp.
nlp nlp is a general purpose any-lang Natural Language Processor that parses the data inside a text and returns a filled model Supported types int in
Self-contained Japanese Morphological Analyzer written in pure Go
Kagome v2 Kagome is an open source Japanese morphological analyzer written in pure golang. The dictionary/statistical models such as MeCab-IPADIC, Uni
Natural language detection package in pure Go
getlang getlang provides fast natural language detection in Go. Features Offline -- no internet connection required Supports 29 languages Provides ISO
Some utilities for Persian language in Go (Golang)
persian Some utilities for Persian language in Go (Golang). Installation go get github.com/mavihq/persian API .ToPersianDigits Converts all English d
🛠 A full-featured dependency injection container for go programming language.
DI Dependency injection for Go programming language. Tutorial | Examples | Advanced features Dependency injection is one form of the broader technique
Scalable real-time messaging server in language-agnostic way
Centrifugo is a scalable real-time messaging server in language-agnostic way. Centrifugo works in conjunction with application backend written in any
Parses the Graphviz DOT language in golang
Parses the Graphviz DOT language and creates an interface, in golang, with which to easily create new and manipulate existing graphs which can be writ
A fast SAT solver
Gini SAT Solver The Gini sat solver is a fast, clean SAT solver written in Go. It is to our knowledge the first ever performant pure-Go SAT solver mad
Go language bindings for the COIN-OR Linear Programming library
clp Description The clp package provides a Go interface to the COIN-OR Linear Programming (CLP) library, part of the COIN-OR (COmputational INfrastruc
cartconvert is a package providing a set of cartography functions for the Go programming language
cartconvert - a cartography package This is the home of the cartconvert project. You can find it online at http://cartconvert.allowed.org/ Cartconvert
Selected Machine Learning algorithms for natural language processing and semantic analysis in Golang
Natural Language Processing Implementations of selected machine learning algorithms for natural language processing in golang. The primary focus for t
A TCP throughput measuring tool written in Go language
tcpmeter - a tool for measuring TCP upload and download speeds and RTT latency. Build go build Run start the server on the remote machine: tcpmeter -s
[deprecated] A full-featured SPDY library for the Go language.
Deprecated With the release of Go1.6 and the addition of http2 to the standard library, this package is no longer under active development. It is high
Basic LDAP v3 functionality for the GO programming language.
Basic LDAP v3 functionality for the GO programming language. Install For the latest version use: go get gopkg.in/ldap.v2 Import the latest version wi
SMPP 3.4 Protocol for the Go programming language
SMPP 3.4 This is an implementation of SMPP 3.4 for Go, based on the original smpp34 from Kevin Patel. The API has been refactored to idiomatic Go code
Diameter stack and Base Protocol (RFC 6733) for the Go programming language
Diameter Base Protocol Package go-diameter is an implementation of the Diameter Base Protocol RFC 6733 and a stack for the Go programming language. St
Go language interface to the Libcircle distributed-queue API
Circle Description The Circle package provides a Go interface to the Libcircle distributed-queue API. Despite the name, Circle has nothing to do with
Send network packets over a TCP or UDP connection.
Packet is the main class representing a single network message. It has a byte code indicating the type of the message and a []byte type payload.
A simple wrapper around libpcap for the Go programming language
PCAP This is a simple wrapper around libpcap for Go. Originally written by Andreas Krennmair [email protected] and only minorly touched up by Mark Smith
BGP implemented in the Go Programming Language
GoBGP: BGP implementation in Go GoBGP is an open source BGP implementation designed from scratch for modern environment and implemented in a modern pr
🚀Gev is a lightweight, fast non-blocking TCP network library based on Reactor mode. Support custom protocols to quickly and easily build high-performance servers.
gev 中文 | English gev is a lightweight, fast non-blocking TCP network library based on Reactor mode. Support custom protocols to quickly and easily bui
CoAP Client/Server implementing RFC 7252 for the Go Language
Canopus Canopus is a client/server implementation of the Constrained Application Protocol (CoAP) Updates 25.11.2016 I've added basic dTLS Support base
Goal is a toolkit for high productivity web development in Go language in the spirit of Revel Framework that is built around the concept of code generation.
Goal Goal is a set of tools for high productivity web development in Go language. Goal, being mostly inspired by Revel Framework and its discussions,