# Packages
Package awsopt provides functions to configure common AWS options for the
official aws-sdk-go-v2 library.
Package awssecretcache provides a simple client for retrieving and caching
secrets from AWS Secrets Manager.
Package bootstrap provides a simple way to bootstrap an application with managed
configuration, logging, metrics, application context, and shutdown signals.
Package config handles the configuration of a program.
Package countrycode provides information about countries and their ISO-3166 Codes.
Package countryphone provides geographical information of phone numbers.
Package decint provides utility functions to parse and represent decimal values
as integers with a set precision.
Package devlake provides a basic client for the DevLake Webhook API.
Package dnscache implements github.com/Vonage/gosrvlib/pkg/sfcache to provide a
simple, local, thread-safe, fixed-size, and single-flight cache for DNS lookup
calls.
Package encode provides a collection of functions for safe serialization and
deserialization of data between different systems, such as databases, queues,
and caches.
Package encrypt provides a collection of functions for safe encryption and
decryption of data between different systems, such as databases, queues, and
caches.
Package enumbitmap provides functions to encode slices of enumeration strings
into integer bitmap values and vice versa.
Package enumcache provides a collection of thread-safe methods for storing and
retrieving enumeration sets with integer IDs and string names.
Package enumdb allows loading enumeration sets
(github.com/Vonage/gosrvlib/pkg/enumcache) from multiple database tables.
Package errtrace provides a function to automatically trace Go errors.
Package filter provides generic rule-based filtering capabilities for struct
slices.
Package healthcheck provides a simple way to define health checks for external services or components.
Package httpclient provides a configurable and instrumented HTTP client with
common options.
Package httpretrier provides the ability to automatically repeat HTTP requests
based on user-defined conditions.
Package httpreverseproxy provides an HTTP Reverse Proxy that takes an incoming
request and sends it to another server, proxying the response back to the
client.
Package httpserver defines a default configurable HTTP server with common routes
and options.
Package httputil contains a collection of common HTTP Request and Response
utility functions.
Package ipify allows to retrieve the public IP address of a service instance
using the external ipify API (https://www.ipify.org/).
Package jwt provides simple wrapper functions for managing basic JWT
Authentication with username/password credentials.
Package kafka provides a simple high-level API for producing and consuming
Apache Kafka messages.
Package kafkacgo provides a simple high-level API for producing and consuming
Apache Kafka messages.
Package logging implements a structured-log model with common functionalities
and utility functions.
Package maputil provides a collection of utility functions for Go maps.
Package metrics defines a common interface for instrumenting applications and
components to collect metrics.
Package mysqllock provides a distributed locking mechanism that leverages
MySQL's internal functions.
Package numtrie provides a numerical-indexed trie data structure.
Package paging provides utilities to handle pagination.
Package passwordhash implements a practical model to create and verify a
password hashes using a strong one-way hashing algorithm.
Package passwordpwned allows you to verify if a password has been pwned
(compromised) in a data breach.
Package periodic provides a way to execute a given function periodically at a
specified time interval.
Package phonekeypad provides functions to convert number strings to sequences of
numbers corresponding to a standard phone keypad:
+-----+-----+-----+
| 1 | 2 | 3 |
| | ABC | DEF |
+-----+-----+-----+
| 4 | 5 | 6 |
| GHI | JKL | MNO |
+-----+-----+-----+
| 7 | 8 | 9 |
| PQRS| TUV | WXYZ|
+-----+-----+-----+
| | 0 | |
| | | |
+-----+-----+-----+
*/.
Package profiling allows accessing the pprof profiling data via the HTTP
interface of the Go program.
Package randkey provides utility functions to generate random uint64 keys in
different formats.
Package random contains a collection of utility functions for generating random
numbers and strings.
Package redact contains utility functions to obscure sensitive data.
Package redis provides a simple and basic wrapper client for interacting with
Redis (https://redis.io), an in-memory data store.
Package retrier provides the ability to automatically repeat a user-defined
function based on the error status.
Package s3 provides a simple and basic wrapper client for interacting with an
AWS S3 bucket.
Package sfcache provides a simple, local, thread-safe, fixed-size, and
single-flight cache for expensive lookup calls.
Package slack is a basic client for the official Slack API used to send messages
via a Webhook.
Package sleuth provides a basic client for the official Sleuth.io API.
Package sliceutil provides a collection of utility functions for Go slices.
Package sqlconn provides a simple way to connect to a SQL database and manage
the connection.
Package sqltransaction provides a simple way to execute a function inside an SQL
transaction.
Package sqlutil provides SQL utility functions.
Package sqlxtransaction provides a simple way to execute a function inside an
SQLX transaction.
Package sqs provides a simple and basic wrapper client for interacting with AWS
SQS (Amazon Simple Queue Service).
Package stringkey provides the ability to create a simple unique hash key from
multiple strings.
Package stringmetric provides functions to calculate string metrics, also known
as string similarity metrics or string distance functions.
Package testutil provides common testing utility functions.
Package threadsafe provides an interface for thread-safe functions that can be
safely used across multiple goroutines.
Package timeutil provides utility functions for working with time-related
operations.
Package traceid allows storing and retrieving a Trace ID value associated with a
context.Context and an HTTP request.
Package typeutil contains a collection of type-related generic utility
functions.
Package uid provides functions to generate simple time-and-random-based unique
identifiers.
Package uidc provides functions to generate simple time-and-random-based unique
identifiers.
Package validator provides a simple and extensible field validation mechanism
for structs and individual fields based on tags.
Package valkey provides a simple and basic wrapper client for interacting with
Valkey (https://valkey.io), an open source in-memory data store.