Skip to content
/ x Public

Experimental Go libraries (take it with a grain of salt)

License

Notifications You must be signed in to change notification settings

zalgonoise/x

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

/x/

Experimental Go libraries (take it with a grain of salt)


Concept

This repository contains projects, experiments and studies when developing new Go libraries and applications.

Its content ranges from HTTP / net utilities, generics in Go, binary encoding, to audio processing and much more in between. In /x/ many ideas are born, and some eventually ported to their own repositories.

This is the place for trying something new, to study it and amplify an initial idea. It's a place to be unbounded and unconstrained; to both succeed and to fail.


Index

Directory Notes Description
x/audio digital signal processing tools for audio, including WAV encoding and decoding.
x/benchmark several benchmark tests to compare x implementations with third-party implementations
x/bezier 🤖 PNG to SVG converter
x/bom handlers for Byte Order Mark presence in text documents
x/cb experiments on a Circuit Breaker implementation
x/cfg generic configuration and options library
x/cli Command-Line Interface utilities and helper logic
x/codegraph first and second iterations of a call-graph generator from static Go code
x/codegraph_v3 third iteration of a call-graph generator from static Go code
x/conv standard binary converters for several types
x/cron cron-like execution scheduler library
x/crop an image cropping utility, to divide an input image into X and Y number of tiles (as multiple images)
x/discord Discord-focused libraries (webhooks, bots, etc.)
x/dns 🚀 a small but modular DNS server to freely create new routes in your network.
x/encoding binary encoder libraries (like protobuf)
x/errors early port of errors.Join before it was generally available
x/errs a library to standardize error creation, by defining a Domain, Kind and Entity in a type
x/fractal Mandelbrot and Julia fractals experiments
x/fts 🚀 SQLite-based full-text search (in-memory and persisted to a file)
x/gbuf 🚀 generic buffers like bytes.Buffer, but for any specified type.
x/ghttp generic HTTP handlers and mux compatible with the standard library, with a simplified structure
x/graph generic graph data structures
x/grid a Coordinates, Vectors, 2D Grids, Graphs, and Graph Search set of libraries
x/gwriter 🚀 generic I/O library, but for any specified type.
x/is very simple (and limited) comparison logic to be used in Go tests
x/lex 🚀 generic lexer, following the design in Go's text/template and go/token implementations, for any specified type.
x/log 🚀 second iteration on a structured logger in Go, with a hint from the new x/log/slog proposal, with generics.
x/log/attr 🚀 a key-value attribute generic data structure, for any type of requirement.
x/logbuf experiments with a buffered slog.Handler implementation
x/mapping a dynamic fields mapping library for Go types
x/monitoring-tmpl Template / example project including all 3 instrumentation signals (metrics, logs, traces) and backends for them as services
x/parse 🚀 generic parser, as a continuation of x/lex, that builds a generic AST based on defined tokens and processing rules, and optionally output generation.
x/pcap 🤖 packet capture app
x/pluslog standard-library slog package extensions
x/ptr generic pointer (and unsafe) utilities library, for conversion, copying, casting and more.
x/secr 🚀 a compact yet module secrets / passwords storage solution, with a Domain Driven Design approach.
x/slack Slack-focused libraries (webhooks, bots, etc.)
x/spanner 🚀 a simple (but flavored) tracer / spanner solution inspired by OpenTelemetry's, used interchangeably alongside logx in ghttp, for example.
x/steam Steam API and CLI (unofficial)

Reference

  • 🚀: Ported into its own repository, as linked in the emoji
  • 🤖: ChatGPT experiment; contains code generated with ChatGPT

Special thanks

A very heartwarming thank you to JetBrains for their support with their Open Source Support program!! Building these libraries, apps, solutions with GoLand makes it such a great developer experience, from the debugger to the tests, coverage and profiling ❤️

About

Experimental Go libraries (take it with a grain of salt)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages