#Go
generative-ai-go
Google's Go SDK for generative AI allows developers to utilize models like Gemini for tasks such as text and multimodal generation, conversational AI, and embedding. An API key is required, and it can be installed with a 'go get' command. Comprehensive documentation and examples are accessible at pkg.go.dev, with additional guidance in Google's official docs. Community support and contribution opportunities under Apache License v2.0 are available.
genqlient
Genqlient is a Go library that streamlines the creation of type-safe GraphQL queries. It ensures compile-time validation and avoids runtime errors, eliminating the need for `interface{}`. Widely used at Khan Academy, it demonstrates production-level reliability. Comprehensive documentation aids in easy setup and usage.
go-txdb
txdb offers a single transaction sql.Driver for Go, maintaining test isolation by operating within the same transaction. This functionality facilitates efficient testing without database reloads by enabling unique SQL driver registrations. Rollback upon closure preserves the initial database state, simplifying test environments. Discover efficient testing processes with txdb's compatibility with MySQL and PostgreSQL, supported by comprehensive documentation.
hugo
Hugo is a static site generator developed in Go, optimized for speed and versatility. It accommodates a variety of site types including blogs, portfolios, and business websites, featuring a sophisticated templating system and multilingual capabilities. The platform offers instant content change previews via its built-in web server and harnesses quick asset pipelines for image processing and JavaScript integration. Hugo Modules further enable content and configuration sharing across different projects, promoting seamless integration. It is particularly suited for developers looking for an efficient, scalable solution for generating dynamic websites, offering a broad array of features.
lancet
Lancet provides a vast collection of over 700 Go utility functions designed for efficiency and reusability, drawn from the concept of Java's Apache Commons and lodash.js. Compatible with Go versions 1.18 and above, it covers essential areas like strings, slices, datetime, networking, and cryptography with dependencies restricted to the Go standard library and golang.org/x. Every function is tested to guarantee reliability and performance. Examples include string manipulation in the strutil package and concurrency handling in the concurrency package, facilitating smooth Go programming.
opentelemetry-go
OpenTelemetry-Go provides a comprehensive Go implementation for measuring and monitoring software performance. It enables detailed insights into application behavior by utilizing distributed traces and metrics, sending telemetry data to multiple observability platforms. The project ensures system compatibility with current Go versions and supports environments like Ubuntu, macOS, and Windows. With stable support for traces and metrics, and a beta logging feature, developers can instrument applications using official libraries and exporters to enhance performance insights.
rest
The project delivers an effective approach for creating RESTful services in Go, leveraging clean architecture principles. It centralizes API documentation, validation, and input/output management, boosting developer efficiency with intuitive APIs. Notable features include 'net/http' compatibility, 'go-chi' routing, automatic OpenAPI generation, and JSON schema validation. It supports business logic decoupling and modular design, offering advanced customization without reliance on compile-time code generation. Discover practical uses with this versatile solution for modern web services.
opentelemetry-go-extra
The project offers a wide range of instrumentations for Go, supporting metrics, traces, and logs with packages like database/sql, GORM, and sqlx. Designed to align with OpenTelemetry standards, it enhances application observability and simplifies maintenance through a single versioning system and shared changelog. Contributors can add tests and examples to their submissions, ensuring robust solutions for developers. Explore specific instrumentations via provided links.
oto
This RPC code generation tool uses Go interfaces for defining services, resulting in easy server/client code creation. It includes production-ready templates and supports JSON tags and metadata, ensuring structured outputs and a smooth process. Learn via tutorials and explore usage by companies like Grafana Labs.
carbon
This Go package, recognized by the Awesome-Go community, provides a straightforward solution for time management and conversion. It facilitates easy date and time conversions, parsing, and instance creation in formats ranging from milliseconds to nanoseconds. Recent updates enhance functionality for managing specific days and converting between Carbon and standard Time.time. Compatible with Go 1.17 and newer versions, it enhances productivity and efficiency in timezone-spanning applications.
openkf
OpenKF is an intelligent online customer service system utilizing open-source technology to provide seamless multi-channel support. Built on the dependable OpenIM platform, it integrates a local knowledge base for effective service interactions. The system is designed for easy deployment and third-party integration, enhancing support operations through features like login, configuration, dashboard, and session management. OpenKF's open-source model invites community contributions for ongoing improvement and innovation.
kafka-go
kafka-go enables integration of both fundamental and advanced Kafka operations within the Go ecosystem. It resolves limitations present in other Kafka clients by supporting Go's context mechanisms, optimizing memory usage, and streamlining APIs for message handling. Key features include automatic connection recovery, offset handling, and both reader and writer interfaces which align with Kafka's capabilities. The library supports Kafka versions 0.10.1.0 through 2.7.1 and requires Go version 1.15 or higher, making it a robust tool for developers.
failsafe-go
Failsafe-go is a comprehensive library that aids in creating resilient and fault-tolerant Go applications by applying various resilience policies. It supports policies such as Retry, CircuitBreaker, RateLimiter, and more, ensuring application stability and efficiency. Ideal for developers focusing on high availability, this library offers the essential tools to overcome a broad range of application challenges. Explore failsafe-go.dev for detailed documentation, guidelines, and contribution instructions.
fiber
Fiber is a Go-based web framework built on the Fasthttp engine, designed for high-performance and minimal memory usage. It offers robust routing, efficient API configurations, middleware integration, and support for WebSocket and Socket.io. While the latest Fiber v3 provides advanced features, it is in beta, and users are advised to utilize the stable v2.x for mission-critical tasks. This framework aids developers transitioning from Node.js to Go by providing a user-friendly and fast development environment.
air
Air provides a reliable real-time reloading command-line tool for Go application developers. It simplifies the development process with features such as customizable build commands, colorful log outputs, and the ability to exclude directories. Focused primarily on development, Air enhances efficiency by letting developers code uninterrupted without manual restarts. The installation process is adaptable, with options for Go package installation or Docker, supporting different development environments. Its flexibility is increased through configuration adjustments via arguments and Docker support, making it suitable for developers seeking seamless workflow integration and improved management.
xgo
This tool delivers an extensive range of testing utilities for Golang, including API mocking, function tracing, and test exploration to streamline debugging. It accommodates diverse platforms, ensures concurrent safety, and supports various OS and architectures. Utilizing innovative IR rewriting, it optimizes testing by overcoming traditional interface limitations without extensively altering source code, promoting effective testing and debugging strategies.
kratos-layout
Utilize the Kratos framework for efficient microservice development in Go, featuring proto templates and automated code generation. It offers streamlined service setup, dependency management, and auxiliary file creation through Makefile. Simplify project initialization with Google's Wire and leverage Docker for scalable deployments. Ideal for building maintainable and efficient microservice architectures.
athenadriver
Athenadriver is a stable AWS Athena database driver developed by Uber for Go, providing extensive query capabilities to address limitations of the AWS Athena Go SDK. It includes features like workgroup and tagging support and handles a wide array of Athena data types, simplifying AWS Athena database querying. Supporting all Athena query statements and efficient AWS authentication management, it ensures optimal database operations. The driver also features built-in logging and metrics support, making it a practical solution for Go developers.
infinite
Infinite assists in creating interactive command line applications in Go, featuring multi/single select, progress bars, and spinners. This library streamlines terminal user interface development with input management and confirmation tools, offering robust components and examples for enhanced CLI functionality. Suitable for developers seeking to enrich command line interfaces.
generic
Discover a library of optimized generic data structures including AVL trees, linear probing hashmaps, and interval trees. Designed for developers, this resource provides reliable structures such as FIFO queues, LIFO stacks, and persistent ropes for efficient data manipulation. With comprehensive documentation, contribute by introducing new structures, refining benchmarks, or crafting iterator APIs. Ideal for any developer in need of robust and scalable data management.
delve
Delve is a debugging tool for the Go programming language, offering simplicity and robust features. It seamlessly integrates into development workflows, providing extensive documentation and support such as command line options, API references, and GUI plugins. Designed to enhance productivity, Delve aids developers by minimizing disruption during debugging tasks.
cadence
Discover a versatile platform for workflow orchestration featuring client libraries in Go, Java, Python, and Ruby, facilitating smooth workflow development. Engage with an open-source community and utilize user-friendly interfaces alongside robust CLI tools. Enhance your workflow management with comprehensive documentation and active support to ensure scalability and responsiveness across various applications.
wire
Wire is a Go code generation tool that enhances dependency injection by automatically linking components via function parameters, promoting clear initialization over global variables. Without relying on runtime state or reflection, Wire ensures efficient setup for Go applications. As a stable and feature-complete beta product, it offers extensive resources including tutorials and best practices.
vacuum
Explore the ultra-efficient, Golang-based OpenAPI linter 'Vacuum', known for its remarkable speed and Spectral compatibility. This lightweight tool enables rapid and thorough specification checks, offering seamless installation via homebrew, npm, yarn, and Docker. Key features include JSON Path support and detailed HTML report generation, catering well to developers seeking expedited validation processes for both small and expansive OpenAPI projects.
embiggen-disk
Embiggen-disk streamlines live filesystem resizing without user intervention by adjusting LVM LV, PV, and partition tables like MBR or GPT. It supports Linux environments and ext4 filesystems with Go 1.7+ and Linux 3.6+. Suitable for amd64 Linux system users aiming for efficient disk management. It's advisable to audit code or take disk snapshots for data safety.
nilaway
NilAway is a static analysis tool that aims to identify and address nil panics in Go applications at compile time. Designed with advanced error tracking across packages, it provides fast, automated analyses that require no additional input from developers apart from regular Go code. This tool supports integration with golangci-lint and bazel/nogo, making it suitable for large projects with minimal performance impact.
gocache
Explore an extensible Go caching library offering diverse storage options including in-memory, Redis, and Memcache. Features include chainable caches, loadable and metric-enabled caches, automatic marshalling, and tag-based cache invalidation, providing developers with control and flexibility for optimizing application performance and resource management.
ooze
Ooze is an open-source tool using mutation testing to assess and enhance test suite coverage by simulating common coding errors. It supports Go projects with customizable mutations and is designed for developers aiming for reliable code testing without altering the workflow.
river
River provides a job processing solution that leverages Go and Postgres to optimize performance. By integrating job queues with database transactions, River addresses distributed system challenges and ensures job reliability and efficiency. It supports clearly defined jobs and workers for simplified serialization and processing. Features such as batch job insertion, cancellation options, and a web UI facilitate robust job management across multiple queues. River also supports cross-language job insertion from Python and Ruby, enhancing its versatility for diverse development environments.
ogen
This tool automates Go code generation using OpenAPI v3, avoiding the need for reflection or interfaces. It offers optimized JSON encoding with go-faster/jx, supports static radix routing, and simplifies data parsing. Features include support for optional/nullable fields, sum types, and utility methods, enhancing performance and efficiency with OpenTelemetry tracing.
Feedback Email: [email protected]