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
errcmperror matcher for tests- (source)
- slight addition for
extracontext
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.NewCounterMetricHistogram-- corresponds toprometheus.NewHistogram