dry

module
v0.0.0-...-84cd2b3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 16, 2026 License: Apache-2.0

README

DRY for Go

Do not repeat yourself. Re-usable utils for Go apps

TL;DR

Re-usable Go modules for building https://safedep.io

Development

Setup
  • Need golang-1.24, refer .tool-versions
  • Install gitleaks following instructions
  • Install lefthook
go install github.com/evilmartians/lefthook@latest
  • Install git hooks
$(go env GOPATH)/bin/lefthook install

Directories

Path Synopsis
api
Package api provides primitives to interact with the openapi HTTP API.
Package api provides primitives to interact with the openapi HTTP API.
pb
Package pb contains various utils and helps to work with our protobuf messages.
Package pb contains various utils and helps to work with our protobuf messages.
tykgen
* Tyk Gateway API * * The Tyk Gateway API is the primary means for integrating your application with the Tyk API Gateway system.
* Tyk Gateway API * * The Tyk Gateway API is the primary means for integrating your application with the Tyk API Gateway system.
ds
Package events provides the first-class, transport-neutral identity of a SafeDep platform event — its Routing — derived from the fully-qualified protobuf message name.
Package events provides the first-class, transport-neutral identity of a SafeDep platform event — its Routing — derived from the fully-qualified protobuf message name.
inbox
Package inbox is the read-side dual of dry/events/outbox: a reusable way to consume a typed SafeDep event feed at-least-once.
Package inbox is the read-side dual of dry/events/outbox: a reusable way to consume a typed SafeDep event feed at-least-once.
inbox/sources
Package sources holds the inbound transport adapters for dry/events/inbox.
Package sources holds the inbound transport adapters for dry/events/inbox.
outbox
Package outbox delivers typed event messages to one or more transport destinations.
Package outbox delivers typed event messages to one or more transport destinations.
outbox/destinations
Package destinations provides the built-in outbox.Destination adapters for S2 and NATS.
Package destinations provides the built-in outbox.Destination adapters for S2 and NATS.
examples
tui command
examples/tui — runnable reference program for the dry/tui library.
examples/tui — runnable reference program for the dry/tui library.
tui-playground command
Package localdb is a shared local SQLite database framework for a tool's modules.
Package localdb is a shared local SQLite database framework for a tool's modules.
Package packageregistry contains the contracts and implementations for building clients (adapters) for OSS package registries such as npm, RubyGem, PyPI, etc.
Package packageregistry contains the contracts and implementations for building clients (adapters) for OSS package registries such as npm, RubyGem, PyPI, etc.
reporting
Package sandbox defines contract for implementing sandboxed command execution tools
Package sandbox defines contract for implementing sandboxed command execution tools
Package storage contains the contract for implementing a general purpose storage system.
Package storage contains the contract for implementing a general purpose storage system.
Package stream provides streaming data processing primitives.
Package stream provides streaming data processing primitives.
tui
tui/console.go
tui/console.go
banner
Package banner renders a SafeDep-styled tool banner.
Package banner renders a SafeDep-styled tool banner.
diff
Package diff renders a line-oriented unified diff.
Package diff renders a line-oriented unified diff.
errors
tui/errors/errors.go
tui/errors/errors.go
humanize
tui/humanize/humanize.go
tui/humanize/humanize.go
icon
tui/icon/icon.go
tui/icon/icon.go
output
tui/output/mode.go
tui/output/mode.go
panel
tui/panel/panel.go
tui/panel/panel.go
progress
tui/progress/progress.go
tui/progress/progress.go
prompt
tui/prompt/errors.go
tui/prompt/errors.go
section
tui/section/section.go
tui/section/section.go
spinner
tui/spinner/frames.go
tui/spinner/frames.go
stat
tui/stat/stat.go
tui/stat/stat.go
steps
tui/steps/steps.go
tui/steps/steps.go
style
tui/style/style.go
tui/style/style.go
table
tui/table/table.go
tui/table/table.go
theme
tui/theme/builder.go
tui/theme/builder.go

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL