powerputty Go is a collection of general use packages, to help build web services with Golang.
powerputty is built as a multi-module workspace.
All packages are appended with p
to help avoid naming collisions (eg. don't collide with
stdlib sql
package, use sqlp
or "SQL Putty")
I'm also just using it as a central place to keep my learnings and knowledge in a structured place.
- Persistence layer
- servicep Web service utilities to help your REST / gRPC / other APIs.
- clientp Convenient helpers for consuming (ie. being a client)
- utilp More general utilities, eg. basic generic map function
errcmp
error matcher for tests- (source)
- slight addition for
extra
context
When applicable, all packages take in a slog.Logger
instance to customize logging. By default,
only logs to slog.LevelDebug
.
When applicable, powerputty packages will take Metric
interfaces that align with prometheus
metric types.
MetricCounter
-- corresponds toprometheus.NewCounter
MetricHistogram
-- corresponds toprometheus.NewHistogram