Awesome Go
Goを扱う資料や関連プロジェクトをまとめたAwesomeリストです。 上流ではアーカイブ済み、または更新終了と案内されています。
目次
目次を展開
- GoのAwesomeリスト
- 目次
- アクターモデル
- 人工知能
- 音声と音楽
- 認証と認可
- ブロックチェーン
- ボット構築
- ビルド自動化
- コマンドライン
- 設定
- 継続的インテグレーション
- CSSプリプロセッサー
- データ統合フレームワーク
- データ構造とアルゴリズム
- データベース
- データベースドライバー
- 日付と時刻
- 分散システム
- 動的DNS
- メール
- 組み込みスクリプト言語
- エラー処理
- ファイル処理
- 金融
- フォーム
- 関数型
- ゲーム開発
- ジェネレーター
- 地理情報
- Goコンパイラー
- ゴルーチン
- GUI
- ハードウェア
- 画像
- IoT(モノのインターネット)
- ジョブスケジューラー
- JSON
- ロギング
- 機械学習
- メッセージング
- Microsoft Office
- その他
- 自然言語処理
- ネットワーク
- OpenGL
- ORM
- パッケージ管理
- 性能
- クエリ言語
- リフレクション
- リソース埋め込み
- 科学計算・データ分析
- セキュリティ
- シリアライズ
- サーバーアプリケーション
- ストリーム処理
- テンプレートエンジン
- テスト
- テキスト処理
- サードパーティAPI
- ユーティリティ
- UUID
- バリデーション
- バージョン管理
- 動画
- Webフレームワーク
- WebAssembly
- Webhookサーバー
- Windows
- ワークフローフレームワーク
- XML
- ゼロトラスト
- コード解析
- エディタープラグイン
- Go generateツール
- Goツール
- ソフトウェアパッケージ
- 資料
アクターモデル
アクターモデルに関するGoライブラリ、ツール、または資料です。
- asyncmachine-go/pkg/machine - グラフ制御フローライブラリ(AOP、アクター、ステートマシン)
- Ergo - Erlangにインスピレーションを受けて、Golangでイベント駆動アーキテクチャを構築できるネットワーク透明性を持つアクターベースのフレームワーク。
- Goakt - プロトコルバッファをメッセージとして使用する、高速かつ分散型のアクターフレームワーク(Golang用)。
- Hollywood - Golangで書かれた、驚異的に高速かつ軽量のアクターエンジン。
- ProtoActor - Go、C#、Java/Kotlin向けの分散アクター。
人工知能
人工知能に関するGoライブラリ、ツール、または資料です。
- AegisFlow - LLMを10以上のプロバイダー間でルーティング・セキュリティ・モニタリングするAIゲートウェイ。OpenAI互換API、WASMポリシープラグイン、カナリーロールアウト、リアルタイムダッシュボードを提供。
- Aetheris - イベントソース、チェックポイント回復、アット・マスト・オング执行保証を備えたAIアグエント実行ランタイム。Goで構築。
- agent-sdk-go - Temporal上で持続可能なAIアグエントを構築するためのGo SDK。ツール、MCP、人間の承認、サブアグエントの委任をサポート。
- agy-mcp - モデルコンテキストプロトコル(MCP)サーバーがAntigravity CLIをラップし、プロンプトやペアレビューを実行。
- ai - 複数プロバイダー間で統一されたLLM、エмベッディング、ツール呼び出し、MCP統合を実現するAIアグエントとアプリケーションの構築を支援するGoツールキット。
- chromem-go - Chromaのようなインターフェースと第三者依存関係のない、Go用の埋め込み型ベクトルデータベース。メモリ内実行で、オプションで永続化。
- crewai-go - CrewAI(マルチアグエントオーケストレーション)のGo向け自然な実装。ゼロ依存、標準ライブラリのみ。
- dakera-go - Dakeraのセルフホスト型アグエントメモリサーバーの公式GoクライアントSDK。メモリストア/リカル、セッション管理、ネームスペース操作、デシード設定の型付きインターフェースを提供。
- fun - Goで大規模言語モデル(LLM)を使用する最もシンプルかつ強力な方法。
- goai - AIアプリケーション構築用Go SDK。1つのSDK、20以上のプロバイダー。Vercel AI SDKにインスピレーションを得た。
- GoModel - OpenAI、Anthropic、Gemini、Groq、xAI、Ollamaなど複数プロバイダーを統合したOpenAI互換APIを公開するAIゲートウェイ。ルーティング、使用量トラッキング、レート制限、ガードレールを提供。
- hotplex - Claude Code、OpenCode、pi-monoなど他のCLI AIツール向けの長期間セッションをサポートするAIアグドランタイムエンジン。フルダブルストリーミング、マルチプラットフォーム統合、セキュアなサンドボックスを提供。
- jargo - WebRTCを活用したリアルタイム音声AIアグエントの構築フレームワーク。スピーチ-to-テキスト、LLM、テキスト-to-スピーチをストリーミングパイプラインに接続。
- keen-code - コンテキスト効率の高いターミナルベースAIコーディングアグエント。プロバイダーに依存せず、MCP、アグエントスキル、サブアグエントなどをサポート。シンプルで明確なTUIを備える。
- langchaingo - LangChainGoは、言語モデルを駆動するアプリケーションを開発するためのフレームワーク。
- langgraphgo - LangGraphの概念に基づき、LLMを使った状態を持つマルチアクターアプリケーションを構築するGoライブラリ。多数の組み込みAgentアーキテクチャを備える。
- llm-box - YAML駆動のパイプラインを持つターミナルベースAIワークフローエンジン。20以上のLLMプロバイダー(DeepSeek、Qwen、GLM、Mistralなど)をサポートし、ワークフロー管理用のTUIを提供。
- LocalAI - オープンソースのOpenAI代替品。自前でAIモデルをホストできる。
- localaik - OpenAIおよびGemini APIをLocalStackスタイルでローカルエミュレート。1つのDockerコンテナで実行、Llama.cpp + Gemma 3バックエンド。
- mcp-go - Goで実装されたModel Context Protocol(MCP)を用いた、MCPサーバーおよびクライアントの構築用ライブラリ。
- Ollama - ローカルに大規模言語モデルを実行できる。
- OllamaFarm - Ollamaのパックを管理・負荷分散・フェイルオーバーできる。
- otellix - コスト制約のある生産環境向けのOpenTelemetryネイティブLLMの可視化とコスト制御のガードレール。
- routex - YAML駆動のマルチエージェントAIランタイム。Erlangスタイルの監視機能、MCPツールサーバー対応、CLIを備える。
- semantic-search - PDF、Markdown、DOCX、ソースコードなど、さまざまなファイル形式に対する意味ベース検索。生成AIエンベディングモデルを用いてファイルをベクトルデータベースに変換する。
- skillreaper - AIエージェントセッションのトランスクリプトをスキャンするCLI。Claude Code、Codex CLI、Hermes、OpenCode、Cursor、OpenClawにおいて使われていないスキルやMCPサーバー、エージェントを特定し、安全に隔離する。
- Smeldr - AIネイティブなコンテンツバックエンド。型付きライフサイクル管理、すべてのコンテンツタイプにネイティブMCPツール、実行時依存関係なし。
- trpc-agent-go - LLMを用いたマルチエージェントシステムの構築用フレームワーク。
- web-researcher-mcp - AIアシスタントにウェブ検索、コンテンツ抽出、マルチソース調査機能を提供するMCPサーバー。1つのバイナリ、5つの検索プロバイダーに回路ブレーカーによるフェイルオーバー、4段階スクリーピングパイプライン。
- zenflow - マルチエージンのオーケストレーションとワークフローエンジン。宣言型YAMLワークフロー、LLMコアオーダーとハブ・スポークメールボックス、レースセーフな配信。1つのYAMLファイル、1つのGoバイナリ。goai対応プロバイダー上で実行可能。
音声と音楽
音声と音楽に関するGoライブラリ、ツール、または資料です。
- beep - シンプルなプレイバックとオーディオ操作用ライブラリ。
- flac - FLACストリームに対応するネイティブGo製FLACエンコーダー/デコーダー。
- gaad - ネイティブGo製のAACビットストリームパーサー。
- go-aac - FFmpegから移植されたPure Go製AAC-LCエンコーダー/デコーダー。
- go-audio-resampler - SIMD高速化を備えた高品質なPure Go製オーディオリサンプラー。
- go-flac - Native Go FLACエンコーダーとデコーダー(SIMD加速)
- go-mpris - mpris dbusインターフェース向けクライアント
- go-opus - RFC 6716に準拠したOpus音声コーデック(Goによるネイティブ実装)とRFC準拠デコーダー
- go-resample - 純Go(cgoなし)の音声サンプルレート変換(sinc、線形、零階保持変換を含む)
- GoAudio - ネイティブGo音声処理ライブラリ
- gosamplerate - Go向けlibsamplerateのバインディング
- id3v2 - Go向けID3デコードおよびエンコードライブラリ
- malgo - ミニ音声ライブラリ
- minimp3 - 軽量MP3デコーダーライブラリ
- music-theory - Goにおける音楽理論モデル
- Oto - 複数プラットフォームで音声を再生できる低レベルライブラリ
- PortAudio - 音声と音楽に関するGoライブラリ、ツール、ソフトウェア、または資料です。 -voxrai-ai - AI voice agents with a JSON configuration, STT → LLM → TTS pipelines over WebSocket and WebRTC
認証と認可
認証と認可に関するGoライブラリ、ツール、または資料です。
- authboss - ウェブ向けモジュラリーアンセイリティシステム。できるだけ多くのテンプレートや「難しい部分」を省き、Goで新しいウェブプロジェクトを開始するたびに、認証システムを独自に構築する必要なく、すぐにインストール・設定・開発を開始できるようにする。
- authgate - 軽量なOAuth 2.0認可サーバーで、デバイス認可付与(RFC 8628)、PKCEによる認可コードフロー(RFC 6749 + RFC 7636)、およびマシン間認証用のクライアント資格付与をサポートしています。
- branca - Golang 1.15以降向けのbranca token specification implementation
- casbin - アクセス制御モデル(ACL、RBAC、ABACなど)をサポートする認可ライブラリ
- cookiestxt - cookies.txtファイルフォーマットのパーサーを提供
- go-githubauth - GitHub認証用ユーティリティ:GitHubアプリケーションおよびインストールトークンの生成と使用
- go-guardian - Go-Guardianは、LDAP、Basic、Bearerトークン、認証証明書をサポートする強力な現代APIおよびウェブ認証をシンプルかつ自然な方法で提供するGoライブラリ
- go-iam - 開発者中心のIDおよびアクセス管理システム(シンプルなUIを備える)
- go-jose - JOSEワーキンググループのJSON Web Token、JSON Web Signatures、JSON Web Encryption仕様の比較的完全な実装
- go-jwt - Go向けJWT(JSON Web Token)ライブラリ
- go-jwt - JWT認証パッケージ(指紋化、Redisストレージ、自動リフレッシュ機能を備えるアクセストークンおよびリフレッシュトークンを提供)
- goiabada - OAuth2およびOpenID Connectをサポートするオープンソースの認証・認可サーバー
- gologin - OAuth1およびOAuth2認証プロバイダーによるログインに使える連鎖型ハンドラー
- gorbac - Golangで実装された軽量な役割ベースアクセス制御(RBAC)
- gosession - GoLangにおけるnet/httpのためのシンプルなセッション。このパッケージはおそらくセッションメカニズムにおける最も優れた実装、あるいは少なくともそれになるように試みている
- goth - OAuthおよびOAuth2のシンプルでクリーンでGo言語にふさわしい使い方を提供。複数のプロバイダーを内蔵でサポート
- jeff - シンプルで柔軟で安全かつGo言語にふさわしいウェブセッション管理。プラグインバックエンドをサポート
- jwt - 軽量なJSON Web Token(JWT)ライブラリ
- jwt - Go向けの安全でシンプルで高速なJSON Web Token
- jwt-auth - Golang HTTPサーバー向けのJWTミドルウェア。多くの設定オプションを提供
- jwt-go - JSON Web Token(JWT)のフル機能実装。このライブラリはJWTのパースおよび検証、生成および署名をサポート
- jwx - GoモジュールによるさまざまなJWx(JWA/JWE/JWK/JWS/JWT、あるいはJOSEと呼ばれる)技術の実装
- keto - 「Zanzibar: Googleの一貫性とグローバルな認可システム」のオープンソース(Go)実装。gRPC、REST API、newSQL、そして簡単かつ細かい権限言語を提供。ACL、RBAC、およびその他のアクセスモデルをサポート
- loginsrv - OAuth2(GitHub)など、複数のバックエンドをサポートするJWTログインマイクロサービス
- melange - OpenFGA認可スキームをPL/pgSQL関数にコンパイルし、PostgreSQL内で細かい関係ベースアクセス制御チェックを実行
- oauth2 - goauth2の継承。JWT、Google API、Compute Engine、App Engineをサポートする汎用OAuth 2.0パッケージ
- oidc - OpenID Foundationによって認定されたGo向けのOpenID Connectクライアントおよびサーバーライブラリ
- openfga - 『Zanzibar: Googleの一貫性とグローバルな認可システム』という論文に基づく細粒度認可の実装。CNCFをバックアップしています。
- osin - GoLangのOAuth2サーバーライブラリ
- otpgen - TOTP/HOTPコードを生成するライブラリ
- otpgo - Go向けのタイムベースワンタイムパスワード(TOTP)およびHMACベースワンタイムパスワード(HOTP)ライブラリ
- paseto - プラットフォームに依存しないセキュリティトークン(PASETO)のGo実装
- permissions - ユーザー、ログイン状態、権限を追跡するためのライブラリ。安全なクッキーとbcryptを使用。
- scope - GoでOAuth2スコープを簡単に管理。
- scs - HTTPサーバー向けのセッションマネージャー。
- securecookie - 効率的かつ安全なクッキーのエンコード/デコード。
- session - ウェブサーバー向けのGoセッションマネージメント(Google App Engine - GAEにも対応)。
- sessions - シンプルで、高パフォーマンスかつ高度にカスタマイズ可能なGo HTTPサーバー向けセッションサービス。
- sessionup - シンプルでありながら効果的なHTTPセッション管理と識別パッケージ。
- sjwt - シンプルで、効果的なJWT生成とパーサー。
- spicedb - Zanzibarをインスピレーションとして設計されたデータベースで、細かい認可を実現。
- x509proxy - X509プロキシ証明書を処理するためのライブラリ。
ブロックチェーン
ブロックチェーンに関するGoライブラリ、ツール、または資料です。
- cometbft - 分散型、バイザンティン耐性、決定論的状態マシン再現エンジン。Tendermint Coreのフォークであり、Tendermintコンセンサスアルゴリズムを実装。
- cosmos-sdk - Cosmosエコシステムにおける公開ブロックチェーンを構築するためのフレームワーク。
- gno - GolangとGnolang(ブロックチェーン用に設計された決定論的なGoの変種)で構築された包括的なスマートコントラクトセット。
- go-ethereum - Ethereumプロトコルの公式Go実装。
- gosemble - Polkadot/Substrateと互換性のあるランタイムを構築するためのGoベースのフレームワーク。
- gossamer - Polkad及HostのGo実装。
- kubo - GoによるIPFS実装。コンテンツアドレス化されたストレージを提供し、DAppにおける分散ストレージに利用可能。IPFSプロトコルに基づく。
- lnd - Lightning Networkノードの完全な実装。
- nview - Cardanoノード向けのローカルモニタリングツール。TUI(ターミナルユーザーインターフェース)であり、ほとんどの画面サイズに適合。
- pactus - Pactusブロックチェーンのフルノード実装(Goで実装)。
- solana-go - ソラナ JSON RPC および WebSocket インターフェースに接続するための Go ライブラリ
- tendermint - テンダミントコンセンサスおよびブロックチェーンプロトコルを用いて、任意のプログラミング言語で書かれた状態マシンをバイザンティン耐性の再現状態マシンに変換するための高性能ミドルウェア
- tronlib - TRON ブロックチェーンとの相互作用に加え、TRC2-0トークンをサポートする、包括的かつ生産環境向けのGo SDK
ボット構築
ボット構築に関するGoライブラリ、ツール、または資料です。
- arikawa - ディスコードAPIに接続するためのライブラリおよびフレームワーク
- bot - 追加のUIコンポーネントを備えたゼロ依存のテレグラムボットライブラリ
- echotron - Goで書かれた、洗練されたかつ並列処理を可能にするテレグラムボットライブラリ
- go-joe - HubotにインスパイアされたがGoで書かれた汎用ボットライブラリ
- go-sarah - LINE、Slack、Gitterなど、目的のチャットサービスにボットを構築するためのフレームワーク
- go-tg - 公式ドキュメントから生成されたテレグラムボットAPIへのGoクライアントライブラリで、複雑なボットの構築に必要な機能を備えている
- go-twitch-irc - twitch.tvチャットにボットを書くためのライブラリ
- micha - テレグラムボットAPI向けのGoライブラリ
- slack-bot - リラックスした開発者向けに使えるスラックボット:カスタムコマンド、Jenkins、Jira、Bitbucket、Githubなど
- slacker - スラックボットを作成するための使いやすいフレームワーク
- telebot - テレグラムボットフレームワークはGoで書かれた
- telego - Golang向けのテレグラムボットAPIライブラリで、APIの完全な1対1実装を提供
- telegram-bot-api - シンプルでクリーンなテレグラムボットクライアント
- TG - Go向けのテレグラムボットフレームワーク
- wayback - テレグラム、マストodon、スラック、その他メッセージプラットフォーム向けのボットがウェブページをアーカイブするもの
- ymsdk - Yandex メッセージャー ボット API 用のGo SDKで、型安全なモデル、自動リトライ、レート制限処理を備えている
- Wisp - Go向けのイベント駆動型取引フレームワーク。スポット取引、永続的ファイアウォール、予測市場。複数取引所(Bybit、Hyperliquid、Polymarket)に対応
ビルド自動化
ビルド自動化に関するGoライブラリ、ツール、または資料です。
- 1build - プロジェクトごとのコマンドを摩擦なく管理できるコマンドラインツール。
- air - Air - Goアプリ用のライブリロード。
- anko - 複数のプログラミング言語に対応したシンプルなアプリケーション監視ツール。
- gaper - Goプロジェクトがクラッシュした場合や監視中のファイルが変更された場合に、ビルドを行い再起動する。
- gilbert - Goプロジェクト用のビルドシステムとタスクランナー。
- gob - Goプロジェクト向けのGradleのようなビルドツール。 Maven
- goyek - Goでビルドパイプラインを作成する。
- mage - MageはGoを用いたmake/rakeのようなビルドツール。
- mmake - 現代的なMake。
- realize - Goによるビルドシステムでファイル監視とライブリロードを実現。カスタムパスで実行、ビルド、ファイル変更を監視。
- rex - ゼロ設定で利用可能なユニバーサルプロジェクトランナー。Go、Node、Python、Rust、PHP、Zig、Elixirといったスタックを自動検出し、正しいコマンドを実行。
- Task - シンプルな「Make」の代替ツール。
- taskctl - 並列タスクランナー。
- xc - README.mdに定義したタスクを実行するタスクランナー。実行可能なMarkdown。
コマンドライン
高度なコンソールUI
高度なコンソールUIに関するGoライブラリ、ツール、または資料です。
- asciigraph - コマンドラインアプリで、他の依存関係なしに軽量なASCII線グラフ ╭┈╯ を生成するGoパッケージ。
- aurora - fmt.Printf/SprintfにサポートされるANSIテキストカラー。
- box-cli-maker - ターミナルに高度にカスタマイズ可能なボックスをレンダリング。
- bubble-table - bubbletea用のインタラクティブなテーブルコンポーネント。
- bubbles - bubbletea用のTUIコンポーネント。
- bubbletea - The Elm Architectureに基づいたターミナルアプリケーション開発用のGoフレームワーク。
- chroma16 - 1つのシードカラーまたは文字列から、調和的な16色のターミナルパレットを生成。
- crab-config-files-templating - Kubernetes マンifest または一般的な設定ファイル向けの動的設定ファイルテンプレートツール
- ctc - 非侵襲的かつプラットフォームを越えたターミナルカラーライブラリで、Printメソッドを変更する必要はない
- fx - ターミナル用JSONビューとプロセッサ
- go-ataman - ターミナルでANSIカラー文字テンプレートをレンダリングするGoライブラリ
- go-colorable - Windows向けのカラー出力ライブラリ
- go-colortext - ターミナルでのカラー出力用Goライブラリ
- go-isatty - golang用のisattyです。
- go-palette - ANSIカラーを使って洗練されたかつ便利なスタイル定義を提供するGoライブラリ。完全に互換性を持ち、fmt libraryをラップして良好なターミナルレイアウトを実現しています。
- go-prompt - python-prompt-toolkitをインスピレーションとして作られた強力なインタラクティブプロンプトのライブラリ。
- go-tui - エディタサポート用の言語サーバを備えた、テンプレートのような宣言型ターミナルUIフレームワーク
- gocui - コンソールユーザーインターフェースを作成するためのミニマルなGoライブラリ。
- gommon/color - ターミナルのテキストスタイルを設定
- gookit/color - ターミナルカラーレンダリングツールライブラリ。16色、256色、RGBカラー出力に対応。Windowsでも動作。
- goscaf - goscafはインタラクティブなCLIを用いて、意見をもって設計された、生産性の高いGoプロジェクトのボイラープレートを生成する。プロジェクト間でスケルトンコードをコピー&ペーストするのをやめよう。
- lazyenv - .envファイルの閲覧・比較・編集用のTUI
- lipgloss - ターミナルにおける色、フォーマット、レイアウトのスタイルを宣言的に定義
- loom - 信号ベースの反応型コンポーネントフレームワークによるTUI構築
- marker - 色付きターミナル出力用に文字列をマッチング・マークする最も簡単な方法
- mpb - ターミナルアプリケーション向けのマルチプログレスバー
- phoenix - 高性能TUIフレームワーク。Elmインスピレーションに基づき設計され、完全なUnicodeレンダリングとゼロ割り当てイベントシステムを備える
- progressbar - すべてのOSで動作する基本的なスレッドセーフプログレスバー
- pterm - すべてのプラットフォームでコンソール出力を美しくするためのライブラリ。複数の組み合わせ可能なコンポーネントを備える
- simpletable - ターミナルにおけるシンプルなテーブルをGoで作成
- spinner - オプションを簡単に提供できるターミナルスピナー用Goパッケージ
- tabby - 非常にシンプルなGolangテーブル用の小さなライブラリ
- table - ターミナルの色に基づくテーブル用の小さなライブラリ
- termbox-go - Termboxは、プラットフォームを越えてテキストベースインターフェースを作成するためのライブラリ
- termdash - termbox-goをベースにしたGo用ターミナルダッシュボード。termuiをインスピレーションとしています。
- termenv - ターミナルアプリケーション向けの高度なANSIスタイルと色サポート
- termui - termbox-goをベースにしたGo用ターミナルダッシュボード。blessed-contribをインスピレーションとしています。
- uilive - ターミナル出力のリアルタイム更新用のライブラリ
- uiprogress - ターミナルアプリケーションにおける進行状況バーをレンダリングするためのフレキシブルなライブラリ
- uitable - ターミナルアプリでテーブルデータを使用した可読性を向上させるためのライブラリ
- vhs - あなたのCLI用のホームビデオレコーダー - ドキュメントやチュートリアルのためにコードからターミナルGIFを生成
- yacspin - Yet Another CLi Spinnerパッケージ、ターミナルスピナーとの対話に使用
標準CLI
標準CLIに関するGoライブラリ、ツール、または資料です。
- acmd - シンプルで実用的で意見を反映したGoのCLIパッケージ
- argparse - Pythonのargparseモジュールをインスピレーションとして作ったコマンドライン引数パーサー
- argv - bashの構文を使用してコマンドライン文字列を引数配列に分割するためのGoライブラリ
- boa - 構造体タグに基づく宣言型フラグ、環境変数、バリデーション、設定ファイル。Cobraに基づく。
- carapace - spf13/cobra向けのコマンド引数補完生成器
- carapace-bin - マルチシェル・マルチコマンド向けの引数補完器
- carapace-spec - スペックファイルを使ってシンプルな補完を定義
- climax - Goコマンドの精神を反映した「人間の顔」を持つ代替CLI
- clîr - シンプルで明確なCLIライブラリ。依存関係なし
- cmd - 標準の
flagパッケージを拡張し、サブコマンドやその他機能を自然な方法でサポートします。 - cmdr - POSIX/GNUスタイルの、getoptに類するコマンドラインUIのGoライブラリ。
- cobra - 現代のGo CLIの相互作用用のコマンダー。
- command-chain - Go言語でコマンド連鎖の設定と実行を行うライブラリ - 例えばUnixシェルにおけるパイプラインのような機能。
- commandeer - 開発者向けCLIアプリ:構造体のフィールドとタグに基づいてフラグ、デフォルト値、使用方法を設定します。
- complete - Goでbash補完を書く + Goコマンドのbash補完。
- console Closed-loop application library for Cobra commands, with oh-my-posh prompts, and more.
- Dnote - シンプルなコマンドラインノートブックで、複数デバイス間の同期が可能です。
- elvish - 表現力のあるプログラミング言語と、多機能なインタラクティブシェル。
- env - 構造体に対するタグベースの環境設定。
- flaggy - 堅牢で自然なフラグパッケージで、サブコマンドのサポートが優秀です。
- flagvar - Goの標準
flagパッケージ向けのフラグ引数タイプの一覧 - flash-flags - 超高速で、依存関係なし、POSIX準拠のフラグ解析ライブラリ。標準ライブラリの置き換えとして使用可能で、セキュリティ強化が可能。
- getopt - 正確なGo
getoptで、GNU libc実装と比較検証済み。 - go-arch - Minimalist、Standard、Hexagonalアーキテクチャパターンを用いたGoアプリケーションのスケルトン作成用CLIツール。
- go-arg - Goにおける構造体ベースの引数解析
- go-flags - go コマンドラインオプションパーサー。
- go-getoptions - Goオプションパーサーで、PerlのGetOpt::Longの柔軟性を参考にしています。
- go-readline-ny - カスタマイズ可能なライン編集ライブラリ。Emacsキーバインディング、ユニコード対応、補完、文法ハイライトを提供。NYAGOSシェルで使用。
- gocmd - コマンドラインアプリケーションの開発に使うGoライブラリ。
- goopt - Go向けの宣言型、構造タグベースのCLIフレームワーク。階層的なコマンド/フラグ、i18n、シェル補完、バリデーションなどの幅広い機能を備えている。
- hashicorp/cli - コマンドラインインターフェースを実装するためのGoライブラリ。
- hiboot cli - CLIアプリケーションフレームワークで自動設定と依存性注入を提供
- job - JOB:一時的なコマンドを長期的なジョブとして扱う
- kingpin - サブコマンドをサポートするコマンドラインおよびフラグパーサー(
kongに置き換えられている;以下参照)。 - liner - コマンドラインインターフェース向けのreadline風ライブラリ
- mcli - Go向けに最小限ながら非常に強力なCLIライブラリ
- memsh - Goによる仮想bashシェル:メモリ内のファイルシステム(afero)に対してシェルコマンドを実行し、WASMプラグインサポートと埋め込みHTTPサーバーを提供
- mkideal/cli - Go構造体タグに基づく、機能豊かで使いやすいコマンドラインパッケージ
- mow.cli - GoによるCLIアプリケーションの構築に、高度なフラグと引数のパースおよび検証を提供
- neuron-cli - ローカル中心の、Obsidianと互換性のあるターミナル知識管理ツール
- OpenCLI - OpenAPIスタイルのCLI仕様;言語に依存しないドキュメントでインターフェースを定義し、ドキュメントとフレームワークのテンプレートコードを生成
- ops - ユニケーラービル/オーケストレーター
- orpheus - セキュリティ強化、プラグインストレージシステム、プロダクション可視化機能を備えたCLIフレームワーク
- pflag - Goのフラグパッケージへのドロップイン置き換え、POSIX/GNUスタイルの—フラグを実装
- readline - 現代的で使いやすいUI機能を備えたシェルライブラリ
- sflags - フラグ、urfave/cli、pflag、cobra、kingpinなど他のライブラリ向けの構造体ベースのフラグ生成器
- structcli - Cobraのテンプレートコードを省略:Go構造体から宣言的に強力で機能豊かなCLIを構築
- strumt - プロンプト連鎖を生成するライブラリ
- subcmd - 標準の
flagパッケージと並行してサブコマンドのパースと実行を行う別のアプローチ - teris-io/cli - Goでコマンドラインインターフェースを構築するためのシンプルかつ完全なAPI
- urfave/cli - Goでコマンドラインアプリケーションを構築するためのシンプル、高速、楽しいパッケージ(以前はcodegangsta/cli)
- version - 複数フォーマットでのCLIバージョン情報の収集と表示、およびアップグレード通知を提供
- wlog - シンプルなログインターフェースで、プラットフォームを越えて色表示と並列処理をサポート。
- wmenu - CLIアプリケーション向けに使いやすいメニュー構造で、ユーザーに選択を促す。
設定
設定に関するGoライブラリ、ツール、または資料です。
- aconfig - シンプルで実用的かつ意見を反映した設定読み込み機能。
- argus - ファイル監視と設定管理をMPSCリングバッファ、適応型バッチング戦略、およびユニバーサルフォーマット解析(JSON、YAML、TOML、INI、HCL、Properties)で実現。
- azureappconfiguration - GoアプリケーションからAzure App Configurationにデータを消費するための設定プロバイダー。
- bcl - BCLはHCLに類似した設定言語。
- cleanenv - ミニマリズムを採用した設定読み込み機能(ファイル、ENV、そしてどこでも可能)。
- config - クラウドネイティブアプリケーションの設定。ENVを構造体にバインドするには2行だけ。
- config - ファイル、環境変数、またはフラグを使ってアプリケーションを設定するには2行のコードで済む。
- config - 構造体ベースの設定読み込み機能で、専用の設定ファイルパーサーを備え、環境変数、フラグ、デフォルト値、検証をサポート。
- configuration - 環境変数、ファイルから構造体を初期化するためのライブラリ/ツール。
- configuro - 環境変数とファイルから設定を読み込み・検証するための意見を反映したフレームワーク。12ファクター準拠アプリケーションに特化。
- confiq - Go向けの構造化データ形式を設定構造にデコードするライブラリ。複数のデータ形式をサポート。
- confita - 複数のバックエンドから設定を階層的に読み込み、構造体に適用。
- conflate - 複数のJSON/YAML/TOM-ファイルを任意のURLからマージし、JSONスキーマによる検証を行い、スキーマに定義されたデフォルト値を適用するライブラリ/ツール。
- enflag - コンテナ中心のゼロ依存設定ライブラリ。環境変数とフラグのパースを統合。型安全を達成するためにジェネリクスを使用し、反射や構造体タグを用いずに実装。
- env - 環境変数をGo構造体にパース(デフォルト値付き)。
- env - 構造体に環境変数を読み込むための軽量パッケージ。
- env - 構造体へのアンマーシャルをサポートする環境ユーティリティパッケージ。
- envconfig - 環境変数から設定を読み込む。
- envh - 環境変数を管理するためのヘルパー
- envyaml - Yamlで環境変数を読み込むライブラリ。シークレットを環境変数として扱い、構造化されたYamlとして読み込むようにする。
- fig - ファイルから環境変数から構成情報を読み取るための小さなライブラリ(バリデーションとデフォルト値付き)
- genv - dotenvサポートで環境変数を簡単に読み取る
- go-array - マップ、スライス、またはJSONからデータを読み書きするGoパッケージ
- go-aws-ssm - AWSシステムマネージャーのパラメータストアからパラメータを取得するGoパッケージ
- go-cfg - さまざまなソース(環境変数、フラグ、構成ファイル(.json、.yaml、.toml、.env))から構成データを構造に読み込むための一貫した方法を提供
- go-conf - 構造体に注釈をつけてアプリケーション構成を管理するシンプルなライブラリ。環境変数、構成ファイル、コマンドラインパラメータから構成を読み取ることができる。
- go-config - アプリケーション構成を扱うためのシンプルで便利なライブラリ
- go-external-config - Go向けのSpring風の構成管理ライブラリ
- go-external-config/aws - go-external-configにAWSプロパティソースサポート
- go-external-config/consul - go-external-configにConsulプロパティソースサポート
- go-external-config/vault - go-及外-configにVaultプロパティソースサポート
- go-ini - INIファイルをマーシャルおよびアンマーシャルするGoパッケージ
- go-ssm-config - AWS SSM(パラメータストア)から構成パラメータを読み取るGoユーティリティ
- go-up - 再帰的なプレースホルダー解決と魔法を使わないシンプルな構成ライブラリ
- GoCfg - 構造タグベースの契約、カスタム値プロバイダー、パーサー、ドキュメント生成を備えた構成マネージャー。カスタマイズ可能でありながらシンプル。
- goconfig - フラグ、環境変数、config.json、デフォルト値からGo構造体を確実に優先順位で埋め込む。追加の依存関係なし。
- godotenv - RubyのdotenvライブラリのGo版(環境変数を
.envから読み込みます)。 - goenv - ENV環境変数を読み取り、プロセスがプロダクションか開発環境かを報告する。
- GoLobby/Config - GoLobby Configは、Goプログラミング言語向けの軽量かつ強力な構成マネージャー。
- gone/jconf - モジュラーJSON構成。コードが構成する構造体をそのままコードと一緒に保持し、パーサーをサブモジュールに任せることが可能であり、完全な構成のシリアライズを損なわない。
- gonfig - タグベースの構成パーサー。異なるプロバイダーから値を読み込み、型安全な構造体に格納。
- gonfiguration - 反射を用いて環境変数から構造体に構成を読み込み、構造体タグによるデフォルト値と必須フィールドをサポート。
- gookit/config - application config manage(load,get,set)。JSON、YAML、TOML、INI、HCLをサポート。複数ファイル読み込み、データオーバーライドマージ。
- harvester - Harvester、シンプルで使いやすい静的および動的構成パッケージ。シーディング、環境変数、Consul統合をサポート。
- hedzr/store - 拡張性と高性能を備えた構成管理ライブラリ。階層データに最適化。
- hjson - Human JSON、人間が読める構成ファイルフォーマット。緩やかな構文、誤りが少なく、コメントが豊富。
- hocon - HOCON(人間向けJSONのスーパーセット)フォーマットを扱う構成ライブラリ。環境変数、他の値への参照、コメント、複数ファイルなどの機能をサポート。
- ini - GoでINIファイルを読み書きするパッケージ。
- ini - INIパーサー&書き込みライブラリ。構造体にアンマーシャル、JSONにマーシャル、ファイルに書き出し、ファイルを監視。
- kelseyhightower/envconfig - 環境変数から構成データを管理するGoライブラリ。
- koanf - 軽量かつ拡張可能なGoアプリケーションでの構成読み込み用ライブラリ。JSON、TOML、YAML、env、コマンドラインに内蔵サポート。
- konf - ファイル、環境変数、フラグ、クラウド(例:AWS、Azure、GCP)から構成を読み取り/監視するための最もシンプルなAPI。
- konfig - 分散処理時代向けの、合成可能で観測可能かつパフォーマンスの高いGo構成処理。
- kong - 任意の複雑なコマンドライン構造およびYAML、JSON、TOMLなど他の設定ソースをサポートするコマンドラインパーサー(
kingpinの後継)。 - nasermirzaei89/env - 環境変数を読み取るためのシンプルかつ有用なパッケージ。
- nfigure - コマンドライン(POSIXおよびGoスタイル)から、各ライブラリごとのタグベース構成。環境、JSON、YAML。
- onion - Go向けのレイヤベース構成。JSON、TOML、Y及、プロパティ、etcd、環境変数、PGPによる暗号化をサポート。
- piper - Viperのラッパーで構成継承とキー生成をサポート。
- sonic - 非常に高速なJSONシリアライズおよびデシリアライズライブラリ。
- swap - ビルド環境に基づき構造体を再帰的にインスタンス化/構成。 (YAML、TOML、JSONおよびenv)。
- typenv - 極小主義、依存関係なし、型付き環境変数ライブラリ
- uConfig - 軽量、依存関係なし、拡張可能な設定管理
- viper - Go用の配置に鋭い刃をもつ設定
- xdg - GoによるXDG Base Directory SpecificationおよびXDG user directoriesの実装。
- yamagiconf - Go用のYAMLの「安全なサブセット’
- zerocfg - 手間なし、簡潔な設定管理で、ボイラープレートや繰り返しコードを回避し、複数のソースをサポートし、優先順位の上書きを可能にする
継続的インテグレーション
継続的インテグレーションに関するGoライブラリ、ツール、または資料です。
- abstruse - Abstruseは分散型CIプラットフォーム
- Bencher - CIでパフォーマンスの回帰を検出するための連続ベンチマークツールのセット
- CDS - エンタープライズクラスのCI/CDおよびDevOps自動化オープンソースプラットフォーム
- dot - Dockerを使用して段階的にジョブを並列実行する、最小限のローカル第一の継続的統合システム
- drone - DroneはDockerに基づきGoで構築された継続的統合プラットフォーム
- go-beautiful-html-coverage - GitHub Actionで、プルリクエスト内のコードカバレッジを追跡し、無料で美しいHTMLプレビューを提供
- go-fuzz-action - GitHub ActionsでGo 1.18の組み込みのフズテストを使用
- go-semver-release - Gitリポジトリのセマンティックバージョニングを自動化
- go-test-coverage - テストカバレッジが設定された閾値を下回った場合に問題を報告するGitHub Action
- gomason - クリーンなワークスペースからGoバイナリをテスト、ビルド、署名、公開
- gotestfmt - 人間が読めるGoのテスト出力
- goveralls - Coveralls.ioの継続的なコードカバレッジトラッキングシステムとのGo統合
- muffet - Goで書かれた高速なウェブリンクチェックツール、詳しくはalternativesを参照。
- overalls - goverallsなどのツールに使用可能なマルチパッケージGoプロジェクトのカバレッジプロファイル
- PikoCI - Concourseにインスパイアされたセルフホスト型CI/CD。1つのバイナリ、任意のデータベース、任意のキュー。HCLパイプライン、プラグイン可能なリソースタイプとランナー
- roveralls - 再帰的なカバレッジテストツール
- woodpecker - WoodpeckerはDrone CIシステムのコミュニティ版である
CSSプリプロセッサー
CSSプリプロセッサーに関するGoライブラリ、ツール、または資料です。
- go-css - Goで書かれた非常にシンプルなCSSパーサー
- go-libsass - 100%Sassに互換性を持つlibsassプロジェクトへのGoのラッパー
データ統合フレームワーク
データ統合フレームワークに関するGoライブラリ、ツール、または資料です。
- Benthos - さまざまなプロトコル間のメッセージストリーミングブリッジ
- CloudQuery - プラグインアーキテクチャを備えた高性能ELTデータ統合フレームワーク
- confluence2md - ConfluenceからMarkdownへのスクレイピングおよび変換ツール
- omniparser - テキスト入力(CSV/txt/JSON/XML/EDI/X12/EDIFACT/etc)をストリーミングでパースし、データドリブンスキーマを使ってJSON出力に変換するための多目的ETLライブラリ
データ構造とアルゴリズム
ビットパッキングと圧縮
- bingo - ネイティブ型をバイトに高速かつゼロ割り当てで辞書順に保持する
- binpacker - バイナリパッキングとアンパッキングを支援するツールで、ユーザーがカスタムバイナリストリームを構築できる
- bit - Goによるセットデータ構造に追加でビット操作関数を備えたもの
- crunch - さまざまなデータ型を簡単に扱うためのバッファを実装するGoパッケージ
- go-ef - Elias-FanoエンコーディングをGoで実装したもの
- roaring - 圧縮されたビットセットを実装するGoパッケド
ビット集合
Bloom・Cuckooフィルター
- bloom - Bloomフィルターを実装するGoパッケージ。
- bloom - Goで実装したBloomフィルター。
- bloom - GoによるBloomフィルタの実装
- bloomfilter - JavaのGuavaライブラリと互換性を持つ、もう一つのBloomフィルタ実装
- boomfilters - 連続かつ無限のストリームを処理する確率的データ構造
- cuckoo-filter - クッコーフィルタ:他の実装と比較して構成可能かつ空間効率が優れた、総合的なクッコーフィルタ。元の論文に記載されたすべての機能が提供されている。
- cuckoofilter - クッコーフィルタ:Goで実装されたカウンティングブロームフィルタの良い代替案。
- ribbonGo - Ribbonフィルタの最初の純Go実装(実用的にブロームフィルタやXorより小さい)で、空間効率の高い近似集合メンバーシップクエリを実現。
- ring - 高性能かつスレッドセーフなブロームフィルタのGo実装。
データ構造・アルゴリズム集
- algorithms - アルゴリズムとデータ構造。CLRS学習用。
- go-datastructures - 有用で高速かつスレッドセーフなデータ構造のコレクション。
- gods - Goデータ構造。コンテナ、セット、リスト、スタック、マップ、バイディマップ、ツリー、ハッシュセットなど。
- gostl - Go向けのデータ構造・アルゴリズムライブラリ。C++ STLに類似した関数を提供する。
イテレーター
- gloop - Goのrange-over-func機能を活用した便利なループ処理。
- goterator - マップとリダクション機能を提供するイテレーター実装。
- iter - GoでのC++ STLイテレーターおよびアルゴリズ及の実装。
マップ
See also データベース for more complex key-value stores, and ツリー for
- cmap - Goにおけるスレッドセーフなコンカートマップ。
interface{}をキーとして使用し、シェアを自動スケーリングします。 - concurrent-swiss-map - スイスマップに基づく、高性能かつスレッドセーフな汎用コンカレントハッシュマップの実装。
- dict - Go向けのPython風辞書(dict)実装。
- genericsyncmap -
sync.Mapに対する型安全なジェネリックラッパー。すべてのメソッドを完全に保持し、ゼロの依存関係を持ちます。 - go-shelve - Goプログラミング言語向けの永続的なマップのようなオブジェクト。複数の埋め込みキーバリューストアをサポート。
- goradd/maps - Go 1.18以降の汎用マップインターフェース、安全なマップ、順序付きマップ、順序付きかつ安全なマップなど。
- hmap - HMapは、使いやすいAPIを提供する、スレッドセーフかつ汎用のマップ実装である。
その他のデータ構造・アルゴリズム
- combo - 順列、組み合わせ、重複組み合わせを含む組み合わせ演算。
- concurrent-writer - 非常に高い並列性を備えた
bufio.Writerの即時置き換え。 - count-min-log - Go実装のカウント・ミン・ログスケッチ:近似カウントを実現する(カウント・ミンスケッチに比べてメモリ使用量が少ない)。
- FSM - Go向けの有限状態マシン(FSM)。
- fsm - 有限状態マシンパッケージ。
- genfuncs - Go 1.18+ のジェネリックパッケージ。Kotlin の Sequence と Map にインスピレーションを受けて作成。
- go-generics - ジェネリックなスライス、マップ、セット、イテレーター、ゴルーチンのユーティリティ。
- go-geoindex - メモリ内での地理インデックス。
- go-rampart - 区間同士の関係を判定する方法。
- go-rquad - 効率的なポイント位置決定と隣接要素検索を実現する領域四分木。
- go-tuple - Go 1.18+ 用のジェネリックなタプル実装。
- go18ds - Go 1.18 のジェネリックを活用した Go データ構造。
- gofal - Go 用の分数 API。
- gogu - 包括的で再利用可能かつ効率的な、コンカレント安全なジェネリックユーティリティ関数およびデータ構造ライブラリ。
- gota - Go 用のデータフレーム、シリーズ、データ操作メソッドの実装。
- hide - ハッシュに変換・変換する ID 型を提供し、クライアントに ID を送信しないようにする。
- hyperloglog - Sparse、LogLog-Beta ビアス補正、TailCut スペース削減を実現する HyperLogLog 実装。
- quadtree - ジェネリックでゼロ割り当て、100%テストカバーされた四分木。
- slices - スライス用の純粋なジェネリック関数。
Nullable型
- nan - 便利な変換関数、マーシャル・アンマーシャル関数を備えたゼロ割り当ての Nullable構造体を1つのライブラリで提供。
- null - JSON にマーシャル・アンマーシャル可能な Nullable Go 型。
- typ - Null Types、安全なプリミティブ型変換、複雑な構造から値を取得する方法。
キュー
- deheap - 最小値と最大値への O(log n) アクセスを実現する二端ヒープ(最小-最大ヒープ)。
- deque - 高度に最適化された二端キュー。
- deque - 高速なリングバッファデック(二端キュー)。
- dqueue - シンプルで、メモリ上にあり、依存関係なし、実戦で検証された、スレッドセーフな遅延キュー。
- goconcurrentqueue - 並列処理可能なFIFOキュー。
- hatchet - 分散型かつ障害耐性のあるタスクキュー。
- list - 汎用的な、スレッドセーフな二重連結リスト(完全なイテレーターをサポート)と、埋め込み用途向けの侵入型単一連結リスト。コンテナ/listの豊富な代替品。
- memlog - Apache Kafkaにインスパイアされた、使いやすい、軽量、スレッドセーフかつ追加のみ可能なメモリ上データ構造。
- queue - Go向けの複数のスレッドセーフ、汎用キュー実装。
集合
- dsu - Goにおける不交差集合データ構造の実装。
- golang-set - Go向けのスレッドセーフおよび非スレッドセーフの高性能セット。
- goset - Go向けに便利なセットコレクションの実装。
- set - LinkedHashMapを使用した、シンプルなセットデータ構造のGo実装。
テキスト分析
- bleve - Go向けの現代的なテキストインデックスライブラリ。
- go-adaptive-radix-tree - Goにおける適応型ラディクスツリーの実装。
- go-edlib - Goにおける文字列比較および編集距離アルゴリズムライブラリ(Levenshtein、LCS、Hamming、Damerau Levenshtein、Jaro-Winklerなど)であり、Unicodeと互換。
- levenshtein - カスタマイズ可能な編集コストと、共通前接頭辞に対するWinkler風ボーナスを備えたLevenshtein距離および類似性メトリクス。
- levenshtein - GoにおけるLevenshte及距離の計算実装。
- mspm - 情報検索向けのマルチ文字列パターンマッチングアルゴリズム。
- parsefields - JSONのようなログをパースするためのツール。ユニークなフィールドとイベントを収集する。
- ptrie - 前接頭辞ツリーの実装。
- radixtree - 適応型ラディクスツリー(前接頭辞ツリーまたはコンパクトトリーツリー)。
- trie - Goにおけるトリーツリーの実装。
ツリー
- graphlib - トポロジカルソートライブラリ、DAGグラフのソートおよび剪裁。
- hashsplit - バイトストリームをチャンクに分割し、コンテンツに基づき境界を決定して、チャンクを木構造に並べる。
- merkle - メルクルルートハッシュと包含証明の効率的な計算。
- skiplist - 非常に高速なGoスキップリスト実装。
- skiplist - Goにおけるスキップリスト実装。
- treemap - 内部に赤黒木を用いた、一般化されたキー順ソートマップ。
パイプ
- ordered-concurrently - 入力順にチャンネルに結果を返す、並列処理を行うGoモジュール。
- parapipe - メッセージおよび結果の順序を維持しつつ、各段階で並列実行を行うFIFOパイプライン。
- pipeline - ファンインとファンアウトをサポートするパイプラインの実装。
- pipelines - 並列処理に用いる一般化されたパイプライン関数。
データベース
キャッシュ
キャッシュに関するGoライブラリ、ツール、または資料です。
- bcache - 最終的に一貫した分散メモリキャッシュGoライブラリ。
- BigCache - ギガバイト規模のデータ用の効率的なキー/バリューキャッシュ。
- cache2go - タイムアウトに基づく自動無効化をサポートするメモリ内キー:値キャッシュ。
- cachego - 複数ドライバーに対応するGolangキャッシュコンポーネント。
- clusteredBigCache - クラスタリングサポートと個別アイテムの有効期限を設定したBigCache。
- coherence-go-client - gRPCをネットワークトランスポートとして使用したGoアプリケーション向けのOracle CoherenceキャッシュAPIの完全実装。
- couchcache - CouchbaseサーバーをバックエンドとしたRESTフルキャッシュマイクロサービス。
- EchoVault - Redisクライアントと互換性を持つ埋め込み型分散メモリデータストア。
- easycache - Golangでメモリ内キャッシュを使用するシンプルな方法(TTL/FIFO/LRU/LFU)。
- fastcache - 大量のエントリーに対応する高速かつスレッドセーフなメモリ内キャッシュ。GCのオーバヘッドを最小限に抑える。
- GCache - エクスパイリブル・キャッシュ、LFU、LRUおよびARCをサポートするキャッシュライブラリ
- gdcache - golangで実装された純粋で非侵襲的なキャッシュライブラリ。自らの分散キャッシュを実装するのにご利用ください。
- go-cache - 複数レイヤーのGoキャッシュライブラリ。メモリ内および共有キャッシュを、キャッシュアスイドパターンを採用して処理します。
- go-freelru A GC-less, fast and generic LRU hashmap library with optional locking, sharding, eviction and expiration.
- go-gcache -
GCacheのジェネリックバージョン。有効期限付きキャッシュ、LFU、LRU、ARCのキャッシュサポートを提供。 - go-mcache - 高速なメモリ内キー:値ストア/キャッシュライブラリ。ポインタキャッシュ。
- gocache - 複数のストア(メモリ、memcache、redisなど)をサポートし、連鎖可能、ロード可能、メトリクスキャッシュなども備えた完全なGoキャッシュライブラリ。
- gocache - データ競合を防ぐ高性能かつ自動プルージョン機能を備えたGoキャッシュライブラリ
- groupcache - Groupcacheは、多くのケースでmemcachedを置き換えることができるキャッシュおよびキャッシュ補完ライブラリです。
- icache - 高性能、汎用、スレッドセーフ、依存関係なしのGoキャッシュパッケージ。
- imcache - 汎用的なメモリ内キャッシュGoライブラリ。期限切れ、スライディング期限切れ、最大項目数制限、エビデンスコールバック、シャーディングをサポートしています。
- jetcache-go - 複数レベルのキャッシュをサポートする統合Goキャッシュライブラリ。
- nscache - 複数データソースドライバーをサポートするGoキャッシュフレームワーク。
- otter - 高性能なロックフリーGoキャッシュ。リスレットと類似のライブラリよりも多くの場合、速い。
- pocache - Pocacheは、事前最適化キャッシュ戦略に焦点を当てた最小のキャッシュパッケージ。
- ristretto - 高性能なメモリ制限Goキャッシュ。
- sturdyc - 高度な並列処理機能を備えたキャッシュライブラリ。I/O負荷の大きいアプリケーションを堅牢かつ高パフォーマンスに設計します。
- theine - 高性能で、ほぼ最適なメモリ内キャッシュ。プロアクティブなTTL期限切れとジェネリクスを備えています。
- timedmap - 期限切れするキー・バリュー対を含むマップ。
- ttlcache - アイテムの期限切れとジェネリクスをサポートするメモリ内キャッシュ。
- ttlcache - 各レコードにTTLを設定したメモリ内キー・バリューストレージ。
Goで実装されたデータベース
- badger - Goにおける高速なキー・バリューストア。
- bbolt - Go向けの埋め込み型キー/バリューデータベース
- Bitcask - Bitcaskは、純粋Goで書かれた埋め込み型、永続的かつ高速なキー値(KV)データベースであり、bitcaskのディスクレイアウト(LSM+WAL)により、予測可能な読み書きパフォーマンス、低遅延、高スループットを実現しています
- buntdb - Go向けの高速かつ埋め込み型、メモリ内キー/バリューデータベースで、カスタムインデックスと空間データをサポート
- clover - 純粋Golangで書かれた軽量なドキュメント指向のNoSQLデータベース
- cockroach - スケーラブルで、地理的リプロダクションをサポートするトランザクションデータストア
- Coffer - シンプルなACIDキー値データベースでトランザクションをサポート
- column - 高パフォーマンス、列型、埋め込み可能なメモリストアでビットマップインデックスとトランザクションをサポート
- CovenantSQL - CovenantSQLはブロックチェーン上のSQLデータベースです
- Databunker - GDPRおよびCCPAに準拠した個人識別情報(PII)のストレージサービス
- dgraph - スケーラブルで、分散型、低遅延、高スループットのグラフデータベース
- DiceDB - オープンソースで、高速かつ反応型、現代のハードウェアに最適化されたメモリデータベース。高いスループットと低い中央遅延により、現代のワークロードに最適です
- diskv - 自社開発のディスクベースのキー/バリューストア
- dolt - Dolt – データのためのGit
- eliasdb - 依存関係なし、トランザクションをサポートするグラフデータベースで、REST API、フレーズ検索、SQL風のクエリ言語を備えています
- gedb - 純粋Goで書かれたMongoDBのような埋め込み型データベース。インデックスと複雑なクエリをサポート
- go-sqlite – A Pure Golang implemented SQLite driver without CGO.
- godis - Golangで実装された高パフォーマンスRedisサーバーおよびクラスタ
- goleveldb - Goで実装されたLevelDBキー/バリューデータベース。
- hare - 各テーブルを改行区切りJSONテキストファイルとして保存するシンプルなデータベース管理システム
- immudb - immudbは、Goで書かれた軽量かつ高速な不変データベースで、システムおよびアプリケーションに最適です
- influxdb - メトリクス、イベント、リアルタイム分析用のスケーラブルなデータストア
- ledisdb - Ledisdbは、LevelDBに基づく高性能なNoSQLのようなRedisベースのデータストア
- levigo - LevigoはLevelDB用のGoラッパーです
- libradb - LibraDBは、学習用に1000行未満のコードで構成されたシンプルなデータベースです
- LinDB - LinDBは、スケーラブルで高パフォーマンスかつ高可用性を備えた分散時系列データベースです
- lotusdb - LSMおよびB+木と互換性のある高速k/vデータベースです
- lynxdb - SPLにインスパイアされたパイプスタイルのクエリ言語を備えた軽量列形式ログ分析データベースです
- MemHop - AIエージェント向けの埋め込み認知メモリデータベース。6層アーキテクチャ(L0-L5)、夢の統合パイプライン、3チャンネルRRF検索(BM25+f16ベクトル+エンティティ)、1つの.mehファイル、純Go、インフラゼロです
- Milvus - Milvusは、埋め込み管理、分析および検索用のベクトルデータベースです
- minisql - 埋め込み型のシングルファイルSQLデータベースです
- moss - Mossは、100%Goで書かれたシンプルなLSMキー値ストレージエンジンです
- nanotdb - 低消費電力ハードウェア向けに最適化された軽量、依存関係ゼロ、追加のみの時系列データベースおよびダッシュボードです
- NoKV - 分散ファイルシステム、オブジェクトストレージ、AIデータセットワークロード向けのネイティブメタデータサービスです
- NornicDB - 高パフォーマンスグラフ+ベクトルデータベース(Neo4jおよびqDrantと互換)、AIシステム向けの低遅延グラフ-RAG検索に焦点を当てています
- nutsdb - Nutsdbは、純Goで書かれたシンプルで高速な埋め込み可能な永続キー/値ストレージです。完全にシリアブルなトランザクションをサポートし、リスト、セット、ソートされたセットなど多くのデータ構造を提供します
- objectbox-go - 高パフォーマンスの埋め込み型オブジェクトデータベース(NoSQL)でGo APIを備えています
- pebble - Goで書かれたRocksDB/LevelDBにインスパイアされたキー値データベースです
- piladb - スタックデータ構造に基づいた軽量RESTフルデータベースエンジンです
- pogreb - 読み込みが中心のワークロード向けの埋め込みキー値ストレージです
- prometheus - モニタリングシステムおよび時系列データベースです
- pudge - Goの標準ライブラリを使用して書かれたシンプルで高速なキー/値ストレージです
- redka - SQLiteを用いたRedisのリイマージメントです
- rosedb - LSM+WALをベースにした埋め込みk-vデータベース。文字列、リスト、ハッシュ、セット、ZSETをサポート。
- rotom - Golangで構築されたミニRedisサーバー。RESPプロトコルと互換。
- rqlite - SQLiteをベースにした軽量かつ分散型の関係データベース。
- tempdb - 一時的なアイテムを格納するためのキーバリューストア。
- tidb - TiDBは分散型SQLデータベースであり、Google F1の設計にインスピレーションを得ている。
- tiedot - Golangで構築されたNoSQLデータベース。
- unitdb - IoTやリアルタイムメッセージングアプリケーション向けの高速タイムシリーズデータベース。github.com/unit-io/unitdアプリケーションを使ってTCPまたはWebSocket経由でunitdbにアクセス可能。
- Vasto - 分散型・高性能キーバリューストア。ディスク上に保存。最終一致。高可用性。サービス中断なしで拡張または縮小可能。
- VictoriaMetrics - 高速かつリソース効率的でスケーラブルなオープンソースタイムシリーズデータベース。Prometheusの長期リモートストレージとして使用可能。PromQLをサポート。
データベーススキーマ移行
- atlas - データベースツールキット。開発チームがデータをより効果的に扱うために設計されたCLI。
- avro - SQLスキーマを発見し、AVROスキーマに変換。SQLレコードをAVROバイトにクエリ。
- bytebase - DevOpsチーム向けの安全なデータベーススキーマ変更とバージョン管理。
- darwin - Go向けのデータベーススキーマ進化ライブラリ。
- db-migrator.go - PostgreSQL、MySQL、ClickHouse、Tarantool、Apache Icebergに対応したバージョン管理付きデータベーススキーマ移行のCLI。
- dbmate - 軽量かつフレームワークに依存しないデータベース移行ツール。
- go-fixtures - Golangの標準的なdatabase/sqlライブラリに合わせたDjangoスタイルのフィクスチャ。
- go-pg-migrate - go-pg移行管理に向けたCLI対応パッケージ。
- go-pg-migrations - go-pg/pgを使って移行を書くためのGoパッケージ。
- goavro - AvroデータをエンコードおよびデコードするためのGoパッケージ。
- godfish - ネイティブクエリ言語に対応したデータベース移行マネージャ。Cassandra、MySQL、PostgreSQL、SQLite3に対応。
- goose - データベース移行ツール。インクリメンタルなSQLまたはGoスクリプトを作成することで、データベースの進化を管理できます。
- gorm-seeder - Gorm ORM用のシンプルなデータベースシーダー。
- gormigrate - Gorm ORM用のデータベーススキーマ移行補助ツール。
- libschema - 各ライブラリで個別に移行を定義できます。オープンソースライブラリ向けの移行。MySQLおよびPostgreSQL対応。
- migrate - データベース移行。CLIおよびGoライブラリ。
- migrator - 極めてシンプルなGoデータベース移行ライブラリ。
- migrator - MySQLデータベース移行ツール。機能ごとに移行を実行し、データベーススキーマの更新を直感的なGoコードで管理します。
- schema - データベース/sqlに適合するデータベースにスキーマ移行を埋め込むためのライブラリ。
- skeema - MySQL用の純粋SQLスキーマ管理システム。シャードおよび外部オンラインスキーマ変更ツールに対応。
- soda - MySQL、PostgreSQL、SQLite用のデータベースマイグレーション、作成、ORMなど。
- sql-migrate - データベース移行ツール。go-bindataを使用してアプリケーションに移行を埋め込みます。
- sqlize - データベース移行ジェネレーター。モデルと既存のSQLを比較してSQL移行を生成します。
データベースツール
- chproxy - ClickHouseデータベース用のHTTPプロキシ。
- clickhouse-bulk - 小さな挿入を収集し、ClickHouseサーバーに大きなリクエストを送信します。
- database-gateway - ACL、ログ、共有リンクを用いた生産環境でのSQL実行。
- dbbench - 複数のデータベースおよびスクリプトに対応したデータベースベンチマークツール。
- dg - 生成された関係データからCSVファイルを生成する高速データ生成ツール。
- filesql - データベース/sql APIを用いて、CSV、TSV、LTSV、JSON、JSONL、Parquet、Excel、ACH、FedwireファイルをSQLでクエリ。内部のSQLiteでサポート。
- gatewayd - クラウドネイティブなデータベースゲートウェイおよびデータドリブンアプリケーションの開発フレームワーク。APIゲートウェイのようにデータベースに適用。
- go-mysql - MySQLプロトコルおよびレプリケーションを処理するGoツールセット。
- go-postgres-s3-backup - AWS Lambda を使って S3 にサーバーレスで PostgreSQL のバックアップを実行し、日次・月次・年次でローテーションを行う。
- gorm-multitenancy - GORM で管理されたデータベースに多租賃対応を提供。
- GoSQLX - 高性能な SQL パーサー、フォーマッター、リントツール、セキュリティスキャナー。複数の方言対応と WASM プレイヤーを備える。
- hasql - 複数ホストの SQL データベースインストールにアクセスするためのライブラリ。
- octillery - Go パッケージによるデータベースのシャード化(すべての ORM または raw SQL に対応)。
- onedump - 異なるドライバーから異なる目的地へデータベースのバックアップを、1 つのコマンドと設定で実行。
- pg_timetable - PostgreSQL 用の高度なスケジューリング。
- pgrwl - クラウドネイティブな PostgreSQL の継続的バックアップ。
- pgweb - Webベースの PostgreSQL データベースブラウザ。
- pgxcli - Go で書かれた PostgreSQL CLI クライアント。pgcli にインスパイアされたもの。
- prep - コードを変更せずに、準備された SQL ステートメントを使用できる。
- pREST - 開発を簡略化・加速。⚡ いつでも、リアルタイムで、高性能に、すべての Postgres アプリケーション(既存または新規)に対応。
- rdb - Redis の RDB ファイルを解析するためのツール。二次開発やメモリ分析に使用。
- rwdb - rwdb は複数のデータベースサーバー構成に読み取りレプリケーション機能を提供。
- sqly - CSV、TSV、LTSV、JSON、Parquet、Excel ファイルに対して SQL を実行できるインタラクティブシェル。その背後にはメモリ内の SQLite が使われる。
- vitess - vitess は、大規模ウェブサービスの MySQL データベースのスケーリングを支援するサーバーとツールを提供。
- wescale - WeScale は、アプリケーションのスケーラビリティ、パフォーマンス、セキュリティ、リズリエンスを向上させるためのデータベースプロキシ。
- xsql - AI が中心のクロスデータベース CLI ツール。読み取り専用保護と構造化された JSON 出力を持つ。
SQLクエリビルダー
SQLクエリビルダーに関するGoライブラリ、ツール、または資料です。
- bqb - 軽量で学習しやすいクエリビルダー。
- buildsqlx - PostgreSQL 用の Go データベースクエリビルダーライブラリ。
- builq - GoでSQLクエリを簡単に構築できます
- dbq - Goでのデータベース操作にボイラープレートなし
- Dotsql - SQLファイルを一つの場所にまとめて使いやすくするためのGo用ライブラリ
- gendry - 侵襲なしのSQLビルダーと強力なデータバインダー
- godbal - Go用のデータベース抽象化レイヤー(dbal).SQLビルダーと結果取得を簡単にサポート
- goqu - 自然なSQLビルダーとクエリライブラリ
- gosql - より良いnull値サポートを備えたSQLクエリビルダー
- Hotcoal - 手作りのSQLをインジェクションから守ります
- igor - PostgreSQL向けの抽象化レイヤーで高度な機能をサポートし、gormのような構文を使用
- jet - Goで型安全なSQLクエリを書くためのフレームワークで、データベースの結果を望む任意のオブジェクト構造に簡単に変換できます
- obreron - 高速かつ安価なSQLビルダーで、ただ一つのことを行います:SQLの構築
- ormlite - 軽量なパッケージで、SQLiteデータベース向けのいくつかのORMのような機能とヘルパーを提供
- ozzo-dbx - 強力なデータ取得メソッドおよびデータベースに依存しないクエリ構築機能
- patcher - 構造体から自動的にSQLクエリを生成する強力なSQLクエリビルダー
- qrafter - 型安全なSQLクエ連携ビルダーで、ディialect認識レンダリング、スキーマの内省、およびマイグレーション生成をサポート
- qry - raw SQLクエリを持つファイルから定数を生成するツール
- relica - 生産環境に依存しない型安全なデータベースクエリビルダー、LRUステートメントキャッシュ、バッチ操作、JOIN、サブクエリ、CTE、ウィンドウ関数のサポートを備えた
- sg - Goで書かれた標準SQL生成ツール(CRUDをサポート)
- sq - Go向けの型安全なSQLビルダーと構造体マッパー
- sqlc - SQLから型安全なコードを生成します
- sqlf - 高速SQLクエリビルダー
- sqlh - 構造体タグとGoジェネリクスを活用したゼロボイラープレートSQLヘルパー(CRUD、UPSERT、JOIN、ベンチマーク)
- sqlingo - GoでSQLを構築するための軽量DSL
- sqrl - Squirrelのフォークでパフォーマンスが向上したSQLクエリビルダー
- Squalus - GoのSQLパッケージにのせた薄いラッパーでクエリの実行を容易に
- Squirrel - SQLクエリを構築するためのGoライブラリ
- xo - PostgreSQL、MySQL、SQLite、Oracle、Microsoft SQL Serverをサポートする既存スキーマ定義またはカスタムクエリに基づいて、データベースに適したGoコードを生成
データベースドライバー
複数バックエンド向けインターフェース
- cayley - 複数のバックエンドをサポートするグラフデータベース
- dsc - SQL、NoSQL、構造化ファイルのデータストア接続
- dynamo - AWSのストレージサービス(AWS DynamoDBおよびAWS S3)に代入可能なキー・バリュー抽象化により、代数的およびリンクデータ型を保存
- go-transaction-manager - 複数のアダプタ(sql、sqlx、gorm、mongo、…)をサポートするトランザクションマネージャーがトランザクション境界を制御
- gokv - Goにおけるシンプルなキー・バリューストア抽象化と実装(Redis、Consul、etcd、bbolt、BadgerDB、LevelDB、Memcached、DynamoDB、S3、PostgreSQL、MongoDB、CockroachDBなど)
- transactor - database/sql、sqlx、pgxにアダプタを備えた型安全なトランザクション境界抽象化
リレーショナルDBドライバー
- avatica - database/sql用のApache Avatica/Phoenix SQLドライバー
- bgc - BigQuery用のGoのデータストア接続
- firebirdsql - Firebird RDBMS用のGoのSQLドライドライバー
- go-adodb - database/sqlを使用するMicrosoft ActiveX Object DataBaseドライバー
- go-mssqldb - Microsoft MSSQL用のGoドライバー
- go-oci8 - database/sqlを使用するOracleドライバー
- go-rqlite - rqlite用のGoクライアントで、rqlite APIとのやり取りを簡単に行うための抽象化を提供
- go-sql-driver/mysql - Go 用の MySQL ドライバー
- go-sqlite3 - database/sql を使用する Go 用の SQLite3 ドライバー
- go-sqlite3 - この Go モジュールは database/sql ドライバーと互換性があります。SQLite をアプリケーションに埋め込み可能で、C API への直接アクセスを提供し、SQLite VFS をサポートし、さらに GORM ドライバーを含んでいます
- godror - Go 用の Oracle ドライバー(ODPI-C ドライバーを使用)
- gofreetds - Microsoft MSSQLドライバー。FreeTDSのGoラッパー。
- KSQL - シンプルで強力な Golang SQL ライブラリ
- pgx - database/sql が提供する機能を超える PostgreSQL ドライドライバー
- pig - pgxをラップし、クエリの実行と結果のスキャンを容易にする。
- pq - database/sql 用の純 Go プラグイン PostgreSQL ドライバー
- Sqinn-Go - 純 Go による SQLite
- sqlhooks - 任意の database/sql ドライバーにホックを付加
- sqlite - package sqlite は、C SQLite3 ライブラリの CGo なし版を使用した sql/database ドライバーです
- surrealdb.go - Go 用の SurrealDB ドライバー
- ydb-go-sdk - YDB(Yandex Database)のネイティブドライバーおよび database/sql ドライバー
NoSQLドライバー
- aerospike-client-go - Go 言語による Aerospike クライアント
- arangolite - 軽量な Go ドライバー(ArangoDB 用)
- asc - Aerospike 用の Datastore コネクティビティ(Go 用)
- forestdb - Go 用の ForestDB バインディング
- go-couchbase - Go 用の Couchbase クライアント
- go-mongox - 公式ドライバーに基づいた Go モノの MongoDB ライブラリ。ドキュメント操作を簡素化し、構造体とコレクションの汎用バインディング、CRUD および集計機能を内蔵し、フィールドの自動更新、構造体検証、ホック、プラグインベースのプログラミングをサポートしています
- go-pilosa - Go 用の Pilosa クライアント
- go-rejson - Redigo Go クライアントを用いた Redis Labs の ReJSON モジュール用の Go クライアント。Redis に構造体を JSON オブジェクトとして簡単に格納・操作可能
- gocb - 公式Couchbase Go SDK
- gocosmos - Azure Cosmos DB 用の REST クライアントおよび標準
database/sqlドライバー. - gocql - Apache Cassandra用Go言語ドライバー
- godis - golangによるredisクライアント、jedisにインスパイアされたもの
- godscache - Google Cloud Platform Go Datastoreパッケージをラップした、memcachedによるキャッシュを追加したもの
- gomemcache - Goプログラミング言語用のmemcacheクライアントライブラリ
- gomemcached - 一致ハッシュを使用したシャードサポートおよびSASLを備えたGo用バイナリMemcachedクライアント
- gorethink - RethinkDB用Go言語ドライバー
- goriak - Riak KV用Go言語ドライバー
- Kivik - KivikはCouchDB、PouchDBおよび類似データベースに対して、GoおよびGopherJS用の共通クライアントライブラリを提供する
- mgm - Go用のMongoDBモデルベースODM(公式MongoDBドライバーに基づく)
- mgo - (メンテナンス終了)標準的なGoの慣例に従う簡潔なAPIで、豊富かつ十分にテストされた機能を提供するMongoDBドライバー。
- mongo-go-driver - 公式MongoDBドライバー(Go言語用)
- neo4j - Neo4j REST API用Golangバインディング
- neoism - Neo4j用Golangクライアント
- qmgo - Go用MongoDBドライバー。公式MongoDBドライバーに基づいているが、Mgoのように使いやすいもの
- redeo - Redisプロトコルに対応したTCPサーバー/サービス
- redigo - RedigoはRedisデータベース用のGoクライアント
- redis - Golang用のRedisクライアント
- rueidis - 自動パイプラインとサーバーによるクライアントサイドキャッシュを備えた高速Redis RESP3クライアント
- xredis - 型安全でカスタマイズ可能、シンプルで使いやすいRedisクライアント
検索・分析データベース
- clickhouse-go - Go 用の ClickHouse SQL クライアントで
database/sql互換性を提供. - effdsl - Go 用の Elasticsearch クエリビルダー
- elastic - Go 用の Elasticsearch クライアント
- elasticsql - Go で SQL を Elasticsearch DSL に変換
- elastigo - Elasticsearch クライアント ライブラリ
- go-elasticsearch - Go 用の公式 Elasticsearch クライアント
- goes - Elasticsearch との相互作用を行うライブラリ
- skizze - 確率的データ構造サービスおよびストレージ
- zoekt - 高速な三項ベースのコード検索
日付と時刻
日付と時刻に関するGoライブラリ、ツール、または資料です。
- approx - 日、週、年単位の期間をパース・プリントできる Duration 拡張
- carbon - Go 用のシンプルで意味的かつ開発者フレンドリーな時間パッケージ
- carbon - PHP Carbon ライブラリから移植された、多くのユーティリティメソッドを備えたシンプルな時間拡張
- cronrange - Cronスタイルの時間範囲表現をパースし、与えられた時間の範囲内にあるかをチェック
- date - 日付、日付範囲、時間帯、期間、時刻の処理に特化した Time の拡張
- dateparse - フォーマットを事前に知らなくても日付をパース
- durafmt - Go 用の時間期間フォーマットライブラリ
- feiertage - ドイツの公休日を計算するための関数セット。ドイツの各州(Bundesländer)に特化した内容を含む。例:イースター、ペンテコステ、感謝の日など
- go-anytime - フォーマットを事前に知らなくても、“次週の12月22日15時”のような日時や”今日から次週の木曜日まで”のような範囲をパース
- go-date-fns - date-fnsをインスピレーションとして作られた、Go用の包括的な日付ユーティリティライブラリ。140以上純粋かつ不変な関数を備えている
- go-datebin - シンプルな日時パースパッケージ
- go-faketime - faketime(1)ユーティリティに従うシンプルな
time.Now()実装。 - go-persian-calendar - Go(golang)で実装されたペルシャ(ソーラー・ヒジリ)カレンダー
- go-str2duration - 文字列を期間に変換。time.Durationを返す文字列やその他の形式をサポート。
- go-sunrise - 指定された場所の日の出と日の入り時刻を計算。
- go-week - ISO8601の週日付を扱うための効率的なパッケージ。
- gostradamus - 日付を扱うためのGoパッケージ。
- iso8601 - 正規表現を使わずにISO86001形式の日時を効率的にパース。
- kair - 日時 - Goのフォーマットライブラリ。
- now - NowはGo向けの時刻ツールキット。
- strftime - C99互換のstrftimeフォーマッター。
- timespan - 開始時刻と期間で定義された時間区間との相互作用に使用。
- timeutil - Goのtimeパッケージに追加されたユーティリティ(Timedelta, Strftime, …)。
- tuesday - Rubyと互換性のあるstrftime関数。
分散システム
分散システムに関するGoライブラリ、ツール、または資料です。
- arpc - より効果的なネットワーク通信、両方向呼び出し、通知、ブロードキャストをサポート。
- bedrock - Goで迅速にサービスや用途に特化したフレームワークを開発するための最小限で、モジュール化され、組み合わせ可能な基礎を提供。
- capillaries - 分散型のバッチデータ処理フレームワーク。
- circuit - 確率的スローリングによる徐々な回復を含む回路ブレーカー。
- cmd-stream-go - Go向けの高パフォーマンス分散コマンドパターンライブラリ。
- committer - 分散型トランザクション管理システム(2PC/3PC実装)。
- consistent - 負荷を制限した一貫性ハッシュ。
- consistenthash - 設定可能なレプリケーションを含む一貫性ハッシュ。
- dht - BitTorrentのKademlia DHT実装。
- digota - grpc エコノミー クラウドマイクロサービス
- dot - 分散型同期をオペレーショナルトランスフォーメーション/OTで実現
- doublejump - Googleのジャンプコンシステントハッシュをリニューアル
- dragonboat - Goで構築された、完全な機能と高性能なマルチグループRaftライブラリ
- Dragonfly - p2p技術を用いた効率的・安定・安全なファイル配布および画像アクセラレーションを提供し、クラウドネイティブアーキテクチャにおけるベストプラクティスおよび標準ソリューションとなる
- drmaa - DRMAA標準に基づくクラスタスケジューラ向けのジョブ提出ライブラリ
- dynamolock - DynamoDBをバックエンドとした分散ロック実装
- dynatomic - DynamoDBを原子カウンタとして使用するためのライブラリ
- emitter-io - MQTT、Websocketsを用いて構築された、高性能・分散型・安全かつ低遅延のパブリッシュ・サブスクリプションプラットフォーム
- evans - Evans: より表現力のあるユニバーサルgRPCクライアント
- failured - 分散システム向けの適応型失敗検出器
- flowgraph - フローベースプログラミングパッケージ
- gleam - 純GoおよびLuajitで構築された高速かつスケーラブルな分散マップ/リダクションシステム。Goの高いコンカレント性とLuaj及の高いパフォーマンスを組み合わせ、スタンドアローンまたは分散環境で動作
- glow - 使いやすく、スケーラブルな分散型ビッグデータ処理、マップ・リダクション、DAG実行をすべて純Goで実現
- gmsec - Goによる分散システム開発フレームワーク
- go-doudou - ゴッピープロトコルとOpenAPI 3.0仕様に基づく分散マイクロサービスフレームワーク。組み込みのgo-doudou CLIにより、低コードおよび高速開発を実現し、あなたの生産性を高めます
- go-eagle - APIまたはマイクロサービス向けのGoフレームワーク。便利なスケルトンツールを備えています
- go-jump - Googleの”Jump”コンシステントハッシュ関数のポート
- go-kit - サービス発見、負荷分散、プラグイン可能なトランスポート、リクエストトレーキングなど、マイクロサービス向けのツールキット
- go-micro - 分散システム開発フレームワーク
- go-mysql-lock - MySQLベースの分散ロック
- go-pdu - 分散型IDベースのソーシャルネットワーク
- go-sundheit - Goサービス向けの非同期サービスヘルスチェックを定義するためのライブラリ
- go-zero - WebおよびRPCフレームワーク。高負荷環境の安定性を確保するための設計を採用しており、組み込みのgoctlにより開発効率が大きく向上
- gorpc - 高負荷環境向けにシンプルで高速かつスケーラブルなRPCライブラリ
- grpc-go - Go言語によるgRPCの実装。HTTP/2ベースのRPC
- health - KubernetesプローブをサポートするGoサービス向けヘルスチェック
- hprose - 非常に初心者向けのRPCライブラリ。現在25以上の言語をサポート
- jsonrpc - JSON-RPC 2.0の実装を支援するjsonrpcパッケージ
- jsonrpc - JSON-RPC 2.0のHTTPクライアント実装
- K8gb - クラウドネイティブなKubernetesグローバルローバンス
- Kitex - パフォーマンスと拡張性に強いGo言語のRPCフレームワーク。マイクロサービス開発において、パフォーマンスと拡張性が主な課題である場合、Kitexは良い選択肢になります
- Kratos - Go言語で構成されたモジュール設計で構成された、使いやすいマイクロサービスフレームワーク
- liftbridge - NATS向けに軽量かつ障害に強いメッセージストリーム
- lock - 1つのGoインターフェースと5つのバックエンド(filelock、flock、Redis、Postgres、etcd)を備えた分散ロックファミリー。すべてのバックエンドでフェンシングトークン、セマフォモード、観測性ハックを提供
- lura - 超高速APIゲートウェイフレームワーク(ミドルウェアを備える)
- mochi mqtt - 完全に仕様に準拠し、埋め込み可能な高性能MQTT v5/v3ブローカー。IoT、スマートホーム、pubsubに最適
- NATS - NATSはデジタルシステム、サービス、デバイス間のシンプルで安全かつパフォーマンスの高い通信システムです
- opentelemetry-go-auto-instrumentation - Go言語向けOpenTelemetryのコンパイル時インストルメンテーション
- oras - コンテナレジストリにおけるOCIアーティファクトのCLIおよびライブラリ
- outbox - Goで実装されたトランザクショナルアウトボックスパターン用の軽量ライブラリで、特定の関係データベースやブローカーに依存していない。
- outboxer - OutboxerはGo言語で実装されたアウトボックスパターンを実現するライブラリ。
- pglock - PostgreSQLをバックエンドとした分散ロック実装。
- pjrpc - GolangによるJSON-RPCサーバー・クライアント(プロトobuf仕様)。
- raft - HashiCorpが開発したRaftコンセンサスプロトコルのGolang実装。
- raft - CoreOSが開発したRaftコンセンサスプロト連のGo実装。
- rain - BitTorrentクライアントおよびライブラリ。
- redis-lock - Redisを用いた簡易な分散ロック実装。
- resgate - REST、リアルタイム、RPC APIを構築するためのリアルタイムAPIゲートウェイ。すべてのクライアントがシームレスに同期される。
- rpcplatform - サービス発見、負荷分散などに関連する機能を備えたマイクロサービスフレームワーク。
- rpcx - アリババのDubboに類似した分散プラグイン型RPCサービスフレームワーク。
- Semaphore - シンプルな(マイクロ)サービスオーガナイザー。
- servicepack - 1つのバイナリ内で複数のサービスを並列実行できるフレームワーク(ローカルまたはマシン間分散)。
- sleuth - HTTP サービス間のマスターレス P2P 自動発見と RPC 用のライブラリ( ZeroMQ を使用).
- sponge - 自動コード生成、ginおよびgrpcフレームワーク、ベース開発フレームワークを統合した分散開発フレームワーク。
- Tarmac - WebAssemblyで関数、マイクロサービス、またはモノリスを書くためのフレームワーク。
- Temporal - コードの障害耐性とシンプルさを実現する持続可能な実行システム。
- torrent - BitTorrentクライアントパッケージ。
- trpc-go - tRPCのGo言語実装。tRPCはプラグイン型・高性能なRPCフレームワーク。
動的DNS
動的DNSに関するGoライブラリ、ツール、または資料です。
- DDNS - Digital Ocean Networking DNSをバックエンドとして利用した個人用DDNSクライアント。
- dyndns - IPアドレスを定期的に自動的にチェックし、IPアドレスが変更された際にGoogleドメインの(1つまたは複数の)動的DNSレコードを更新するためのバックグラウンドGoプロセス。
- GoDNS - DNSPodおよびHE.netに対応する動的DNSクライアントツール。Goで書かれたもの。
メール
メールに関するGoライブラリ、ツール、または資料です。
- chasquid - Goで書かれたSMTPサーバー。
- douceur - HTMLメール用のCSSインライン化ツール。
- email - Go向けに強固で柔軟なメールライブラリ。
- email-verifier - メールの検証を行うGoライブラリ。メールを送信せずに実行可能。
- go-dkim - メールに署名・検証を行うDKIMライブラリ。
- go-email-normalizer - メールアドレスの標準表現を提供するGoライブラリ。
- go-imap - 自動再接続、OAuth2、IDLE対応、組み込みMIME解析を備えた、豊富な機能を備えたIMAPクライアント。
- go-imap - クライアントおよびサーバー向けのIMAPライブラリ。
- go-mail - Goで簡易にメールを送信するためのGoライブラリ。
- go-message - インターネットメッセージフォーマットおよびメールメッセージ用のストリーミングライブラリ。
- go-premailer - HTMLメール用のインラインスタイルをGoで提供するツール。
- go-simple-mail - SMTP Keep Aliveと接続・送信の2つのタイムアウトを用いてメールを送信する非常にシンプルなパッケージ。
- go-spamcheck - PostmarkのSpamCheck APIに接続するクライアント。メールをSpamAssassin規則でスコアリング。
- Hectane - 軽量なSMTPクライアントでHTTP APIを提供。
- hermes - クリーンでレスポンス性の高いHTMLメールを生成するGoパッケージ。
- Maddy - すべての機能(SMTP、IMAP、DKIM、DMARC、MTA-STS、DANE)を備えたメールサーバー。
- mailchain - ブロックチェーンアドレスに暗号化されたメールを送信するGoによるツール。
- mailgun-go - Mailgun APIを使ってメールを送信するGoライブラリ。
- MailHog - ウェブおよびAPIインターフェースによるメールおよびSMTPのテスト。
- Mailpit - 開発者向けのメールおよびSMTPテストツール
- mailx - SMTP でメールを送るのを簡単にするライブラリ。Go の標準ライブラリ
net/smtpの拡張です. - mox - 低維持管理で自前で運用可能な、現代的な完全機能かつ安全なメールサーバー
- SendGrid - SendGridのGoライブラリによるメール送信
- smtp - SMTPサーバープロトコルの状態マシン
- smtpmock - 軽量かつ設定可能なマルチスレッド仮SMTPサーバー。テスト環境で任意のSMTP動作を模倣。
- tickstem/verify - データベースに送信される前にメールアドレスを検証:構文、MXリゾルバー、一時的なドメイン、役割ベースのインボックス。
- truemail-go - 設定可能なGolangメール検証/確認ツール。正規表現、DNS、SMTPなどによるメール検証。
組み込みスクリプト言語
組み込みスクリプト言語に関するGoライブラリ、ツール、または資料です。
- anko - Goで書かれたスクリプトインタプリタ。
- binder - Go への Lua バインディングライブラリ、 gopher-lua をベースにした.
- cel-go - 高速かつ移植性に優れた、チューリング不完全な式評価機能(段階的型)。
- ecal - シンプルな埋め込みスクリプト言語で、並列イベント処理をサポート。
- expr - Go用の式評価エンジン:高速、チューリング不完全、動的型、静的型。
- FrankenPHP - Go に埋め込まれた PHP、
net/httpハンダーを備えた. - gentee - 埋め込み可能なスクリプトプログラミング言語。
- gisp - Goで実装されたシンプルなLISP。
- go-lua - Lua 5.2の仮想マシンを純Goに移植。
- go-lua - 純Goで実装されたLua 5.4の仮想マシン。
- go-php - Go向けのPHPバインディング。
- goal - 埋め込み可能なスクリプの配列言語。
- goja - Goで実装されたECMAScript 5.1(+)。
- golua - Lua C API向けのGoバインディング。
- gopher-lua - Goで書かれたLua 5.1の仮想マシンおよびコンパイラ。
- gval - Goで書かれた高度にカスタマイズ可能な表現言語
- metacall - ノードJS、JavaScript、TypeScript、Python、Ruby、C#、WebAssembly、Java、Cobolなど、マルチプラットフォーム対応のポリゴットランタイム
- ngaro - Retroでのスクリプティングを可能にする埋め込みNgaro仮想マシンの実装
- prolog - 埋め込みプロログ
- purl - Goに組み込まれたPerl 5.18.2
- starlark-go - Starlark(Pythonに似た言語)のGo実装:決定論的評価と密封実行を備えた言語
- starlet - starlark-go 用の Go ワッパーで、スクリプト実行を簡略化し、データ変換やユーティリティな Starlark ライブラリと拡張を提供.
- tengo - Go用のバイトコードコンパイルスクリプト言語
- Wa/凹语言 - Goに組み込まれたWaプログラミング言語
エラー処理
エラー処理に関するGoライブラリ、ツール、または資料です。
- ctxerrors - 各呼び出しサイトのファイル名、行番号、関数名を用いてエラーをラップ
- emperror - Goライブラリおよびアプリケーション向けのエラー処理ツールとベストプラクティス
- eris - Goでエラーをより効果的に扱い、トレースし、ログを記録する方法。標準エラーライブラリおよびgithub.com/pkg/errorsと互換性あり
- errlog - エラーの責任あるソースコードを特定するためのハッキング可能なパッケージ(およびその他の高速デバッグ機能を含む)。任意のログ出力にプラグイン可能
- errors - 標準ライブラリのエラーパッケージおよびgithub.com/pkg/errorsへの置き換え。さまざまなエラー処理プリミティブを提供
- errors - シンプルなGoエラー処理に分類プリミティブを備えたもの
- errors - シンプルなエラーラッパーで、驚くほど高速かつ最小限のメモリオーバーヘッドを実現
- errors - スタックトレースとオプションの構造化詳細を含むエラーの提供。github.com/pkg/errors APIと互換性があるが、内部では使用しない
- errors - 標準ライブラリのGoエラーへの置き換え。カスタムエラー型、ユーザーに親しみやすいメッセージ、UnwrapおよびIsを備えた最小限のエラー処理パッケージ。非常に使いやすく、シンプルなヘルパー関数を提供
- errors - ネットワークを介したエラーのポート可能性を備えたGoエラーライブラリ
- errorx - スタックトレース、エラーの合成など、豊富な機能を備えたエラーパッケージ
- exception - Goで例外処理を行うためのシンプルなユーティリティパッケージ(try-catch)
- Falcon - エラーハンドリングに最適で、非常に強力なパッケージ
- Fault - エラーメタデータやコンテキストを構造的に扱うためのエラーワッピングを実現するエргonomicなメカニズム
- go-errr - Go向けのエラーハンドリングライブラリ。Catch/Recoverセマンティクス、ラップされたエラーチェーン、スタックトレースを提供
- go-multierror - Go(golang)で複数エラーを1つのエラーとして表現するためのパッケージ
- metaerr - 異なるソースからメタデータを取得し、構造化されたエラーを生成するカスタムエラービルダーを構築するためのライブラリ
- multierr - 複数エラーを1つのエラーとして表現するためのパッケのパッケージ
- oops - コンテキスト、スタックトレース、ソースフラグメントを用いたエラーハンドリング
- tracerr - Goのエラーにスタックトレースとソースフラグメントを追加
ファイル処理
ファイル処理に関するGoライブラリ、ツール、または資料です。
- afero - Go向けのファイルシステム抽象化システム
- afs - Go向けの抽象ファイルストレージ(mem, scp, zip, tar, cloud: s3, gs)
- baraka - HTTPファイルアップロードを簡単に処理するためのライブラリ
- checksum - 大きなファイルに対してMD5、SHA256、SHA1、CRCまたはBLAKE2sなどのメッセージディジェストを計算
- copy - ディレクトリを再帰的にコピー
- fastwalk - 高速な並列ディレクトリ走査ライブラリ( fzf で使用).
- flop - GNU cp と同等の機能を備えたファイル操作ライブラリ.
- gdu - コンソールインターフェース付きのディスク使用量分析ツール
- go-csv-tag - タグを使用してCSVファイルを読み込む
- go-decent-copy - 人間が理解しやすいファイルのコピー
- go-exiftool - ExifTool(ファイルからEXIF、IPTCなど多くのメタデータを抽出する有名なライブラリ)へのGoバインディング
- go-gtfs - GoでGTFSファイルを読み込む
- go-wkhtmltopdf - HTMLテンプレートをPDFファイルに変換するためのパッケージ
- gofs - マルチプラットフォーム対応のリアルタイムファイル同期ツール
- gopdfrab - Go における PDF/A プロセス
- gulter - ファイルアップロードのすべてのニーズを自動的に処理できるシンプルな HTTP ミドルウェア
- gut/yos - ファイル、ディレクトリ、シンボリックリンクのコピー/移動/差分/リストなどのファイル操作に便利で信頼性の高いパッケージ
- gxpdf - Go 用の現代的なフルライフサイクル PDF ライブラリ — パース、テーブルの抽出、ドキュメントの生成および署名がゼロ CGO 依存で可能
- higgs - ファイルおよびディレクトリの表示/非表示を隠すための、小さなクロスプラットフォーム Go ライブラリ
- iso9660 - ISO9660 ディスクイメージの読み書き用パッケージ
- notify - シンプルなAPIを備えたファイルシステムイベント通知ライブラリ、os/signal と類似
- opc - Go 用のオープンパッケージコンベンション(OPC)ファイルの読み込み
- parquet - parquet ファイルの読み書きを行う.
- pathtype - パスを文字列ではなく独自の型として扱う
- pdfcpu - PDF プロセッサ
- skywalker - ファイルシステムを簡単に並列で走査できるパッケージ
- todotxt - Gina Trapani の todo.txt ファイル用の Go ライブラリで、タスクリストのパースと操作をサポートする. todo.txt format
- vfs - Go における複数のファイルシステム(os、S3、GCSなど)に適用可能なプラグイン型、拡張性があり、意見を反映したファイルシステム機能セット
金融
金融に関するGoライブラリ、ツール、または資料です。
- accounting - Go における貨幣および通貨フォーマット
- ach - 自動清算ハウス(ACH)ファイルの読み取り、書き込み、検証用パッケージ
- bbgo - Go で書かれた暗号取引BOTフレームワーク。一般的な暗号取引所API、標準指標、バックテスト、多数の組み込み戦略を含む
- cnn-fear-and-greed-parse - CNNのFear & Greed Indexのクライアント。7つのコンポーネント指標と約1年分の日次データを含む
- currency - 通貨額の処理、通貨情報およびフォーマットを提供
- currency - 高パフォーマンスかつ正確な通貨計算パッケージ
- dec128 - 高パフォーマンスの128ビット固定小数点数
- decimal - 任意精度の固定小数点数
- decimal - 高パフォーマンス 64 ビット小数で shopspring/decimal および int64 と部分的に互換であり、Weight と Length を含む.
- decimal - 変更不可能な小数数値とpanicを起こさない算術演算
- eu-vat-rates-data-go - 45の欧州諸国における消費税率および消費税番号フォーマット。コンパイル時に埋め込まれ、毎日ヨーロッパ委員会のTEDBから更新
- fpdecimal - 小さな固定小数点小数の高速かつ正確なシリアライズと算術演算
- fpmoney - 高速でシンプルなISO 4217準拠の固定小数点金額型。
- go-finance - 時間価値の金利(年金)、キャッシュフロー、金利変換、債券および減価算定に関する金融関数ライブラリ
- go-finance - 為替レートを取得し、VIESで消費税番号を検証し、IBAN銀行口座番号を検証するモジュール
- go-money - FowlerのMoneyパターンの実装
- go-nowpayments - crypto NOWPayments API向けライブラリ
- gobl - インボイスおよび請求書ドキュメントフレームワーク。JSON Schemaベース。税額計算と検証を自動化し、グローバルフォーマットへの変換ツールを提供
- indicator - 技術分析ライブラリで、金融指標、戦略、バックテストフレームワークを提供
- ledger - プログラム可能な金融台帳。資金移動アプリケーションの基礎を提供
- money - 変更不可能な貨幣額と為替レートとpanicを起こさない算術演算
- ofxgo - OFXサーバーをクエリし、または応答をパース(例:コマンドラインクライアント)
- orderbook - Golangにおけるリミットオーダーブックのマッチングエンジン
- payme - SEPA決済用のQRコード生成(ASCIIおよびPNG)
- paystack-sdk-go - Paystack API向けの包括的で依存関係なし、完全に型安全なGo SDK
- swift - IBAN(国際銀行口座番号)のオフライン検証およびBIC(一部の国で)の取得
- techan - 高度な市場分析と取引戦略を備えた技術分析ライブラリ
- ticker - 終端用株価ウォッチャーおよび株式保有状況トラッカー
- transaction - マルチスレッドモードで動作するアカウントの埋め込みトランザクションデータベース
- udecimal - 高パフォーマンス・高精度の金融用途向けゼロ割り当て固定小数点ライブラリ
- vat - VAT番号の検証およびEUのVAT税率
フォーム
フォームに関するGoライブラリ、ツール、または資料です。
- bind - フォームデータを任意のGo値にバインド
- checker - ルールを構造タグに定義または関数で直接指定してユーザー入力の検証を支援
- conform - ユーザー入力のチェックを維持。構造タグに基づいてデータをトリム、クリーンアップ、スクリーニング
- form - url.ValuesをGo値にデコードし、Go値をurl.Valuesにエンコード。ダブル配列およびフルマップサポート
- formam - フォームの値を構造体にデコード
- forms - マルチパートフォームおよびファイルをサポートする、フレームワークに依存しないフォーム/JSONデータのパースと検証用ライブラリ
- gbind - 任意のGo値にデータをバインド。組み込みおよびカスタム表現バインディング機能を活用可能。データ検証をサポート
- gorilla/csrf - GoウェブアプリケーションおよびサービスにおけるCSRF保護
- httpin - HTTPリクエストをクエリ文字列、フォーム、HTTPヘッダーなどにデコードしてカスタム構造体に変換
- nosurf - Go用のCSRF保護ミドルウェア
- qs - Goモジュールによる構造体のURLクエリパラメータへのエンコード
- queryparam -
url.Valuesを標準またはカスタム型の構造体値にデコードする. - roamer - クッキー、ヘッダー、クエリパラメータ、パスパラメータ、ボディなどを構造体にバインドすることで、HTTPリクエストのパースに必要なボイラープレートコードを削減
関数型
関数型に関するGoライブラリ、ツール、または資料です。
- fp-go - Golang 1.18+のジェネリクスを活用した関数型プログラミングヘルパーのコレクション
- fpGo - Golangにおけるモナド、関数型プログラミング機能
- fuego - Goにおける関数型プログラミングの実験
- FuncFrog - ジェネリックスライスGo1.018+に対してマップ、フィルタ、リダクションなどのストリーム操作を提供する関数型ヘルパーライブラリ
- g - Goにおける関数型プログラミングフレームワーク
- go-functional - ジェネリクスを用いたGoにおける関数型プログラミング
- go-underscore - 便利なGo用ユーティリティのコレクション。
- gofp - Go言語向けのLodashのような強力なユーティリティライブラリ。
- mo - Go 1.18以降のジェネリクスに基づくモナドと人気FP抽象構造(Option、Result、Eitherなど)。
- underscore - Go 1.18以降向けの関数型プログラミングのヘルパー。
- valor - 値をオプションで含むジェネリックなオプションと結果型。
ゲーム開発
ゲーム開発に関するGoライブラリ、ツール、または資料です。
- Ark - Go向けのアーキタイプベースのエンティティ・コンポーネント・システム(ECS)。
- Ebitengine - Goで書かれたシンプルな2Dゲームエンジン。
- ecs - Go言語でエンティティ・コンポーネント・システム(ECS)の概念に基づいた自作ゲームエンジンを構築。
- engo - EngoはGoで書かれたオープンソースの2Dゲームエンジンであり、エンティティ・コンポーネント・システム(E-CTS)のパラダイムを採用。
- fantasyname - ファンタジー名生成器。
- g3n - Goによる3Dゲームエンジン。
- go-astar - Go実装のA*パス探索アルゴリズム。
- go-sdl2 - Simple DirectMedia Layer 用の Go バインディング.
- go3d - Go向けのパフォーマンス重視の2D/3D数学パッケージ。
- gogpu - WebGPU に基づく GPU アプリケーションフレームワーク(ウィンドウ、入力、レンダリングを備える)— GPU コードの 480 行以上を約 20 行に簡略化し、CGO なし(GoGPU エコシステム: gg, ui, wgpu, naga).
- gogpu/wgpu - Vulkan、DX12、Metal バックエンドを備えた純 Go WebGPU 実装、CGO なし( GoGPU エコシステムの一部).
- GOKe - データ指向(DOD)でアーキタイプベースのECSエンジン。L1キャッシュに適合したチャンク型SoAレイアウトを採用し、予測可能なステップレスなメモリ成長とゼロアロケーション実行パスを実現。
- gonet - Goで実装されたゲームサーバーのフレームワーク。
- goworld - スケーラブルなゲームサーバーエンジンで、空間エンティティフレームワークとホットスワップ機能を備えている。
- grid - ジェネリックな2Dグリッドで、レーザー投射、シャドウ投射、パス探索を実現。
- Leaf - 軽量なゲームサーバーフレームワーク。
- nano - 軽量かつ機能的で、高性能なGoベースのゲームサーバーフレームワーク。
- Oak - 純粋なGoによるゲームエンジン。
- Pi - 現代コンピュータ向けにレトロゲームを作成するためのゲームエンジン。Pico-8をインスピレーションとして、Ebitengineで駆動されている。
- Pitaya - スケーラブルなゲームサーバーフレームワークで、クラスタリングサポートとiOS、Android、UnityなどへのクライアントライブラリをC SDKを通じて提供。
- Pixel - Goで手作りされた2Dゲームライブラリ。
- prototype - Windows/Linux/Macを対象としたクロスプラットフォーム(デスクトップゲーム開発用)の最小APIを用いたライブラリ。
- raylib-go - raylib 用の Go バインディング、シンプルでゲームプログラミングを学ぶのに便利なライブラリ.
- sceneCamera - 美術館、FPS、RTS、ステレオレンダリングモード向けのカメラ移動とビュー/投影行列。
- termloop - Go上でTermboxをベースに構築されたテルミナルベースのゲームエンジン。
- tile - データ指向かつキャッシュに優しい2Dグリッドライブラリ(タイルマップ)で、パスファインディング、オブザーバー、インポート/エクスポートを含む。
ジェネレーター
ジェネレーターに関するGoライブラリ、ツール、または資料です。
- apispec - Goコードから注釈なしでOpenAPI 3.1仕様を生成し、ブラウザUIで呼び出しグラフの設定・プレビュー・探索を行う。
- convergen - 豊富な型間コピーコード生成機能。
- copygen - Goの型に基づいて任意のコードを生成し、デフォルトでは反射なしに型間コンバーター(コピーコード)を生成。
- generis - ジェネリクス、自由形式のマクロ、条件付きコンパイル、HTMLテンプレートを提供するコード生成ツール。
- go-apispec - Goソースコードを静的解析してフレームワークを自動検出し、OpenAPI 3.1仕様を生成。
- go-enum - コードコメントからenumをコード生成。
- go-enum-encoding - コードコメントからenumエンコーディングをコード生成。
- go-linq - Go向けの.NET LINQのようなクエリメソッド。
- goderive - 入力型から関数を導出。
- goverter - インターフェースを定義することでコンバーターを生成。
- GoWrap - Goインターフェース向けのテンプレートを用いたデコレータ生成。
- interfaces - インターフェース定義を生成するコマンドラインツール。
- jennifer - テンプレートなしで任意のGoコードを生成。
- oapi-codegen - このパッケージは、OpenAPI 3.0 API 定義に基づいたサービス向けにGoのボイラープレートコードを生成するためのユーティリティセットを含んでいます
- protoc-gen-httpgo - protobufからHTTPサーバーとクライアントを生成
- typeregistry - 動的に型を作成するためのライブラリ
地理情報
地理情報に関するGoライブラリ、ツール、または資料です。
- borders - 画像の境界を検出し、GIS操作用にGeoJSONに変換
- geoos - 空間データおよび幾何アルゴリズムを提供するライブラリ
- geoserver - geoserverはGeoServerインスタンスをGeoServer REST APIを介して操作するためのGoパッケージです
- gismanager - GISデータ(ベクターデータ)をPostGISおよびGeoserverに公開
- godal - GDAL用のGoラッパー
- H3 - H3、階層的六角形空間インデックスシステムに対するGoバインディング
- H3 GeoJSON - H3インデックスとGeoJSON間の変換ユーティリティ
- H3GeoDist - UberのH3geoセルを仮想ノードで配布
- mbtileserver - mbtiles形式に保存されたマップタイルを扱うシンプルなGoベースサーバー
- osm - OpenStreetMapデータおよびAPIを読み書きし、操作するためのライブラリ
- pbf - OpenStreetMap PBFのgolangエンコーダ/デコーダ
- S2 geojson - GeoJSONをS2セルに変換し、マップ上でS2幾何機能を示す
- S2 geometry - GoにおけるS2幾何ライブラリ
- simplefeatures - simplesfeaturesは2次元幾何ライブラリで、幾何をモデル化するGo型およびそれらに作用するアルゴリズムを提供します
- Tile38 - 空間インデックスとリアルタイム地帯制御を備えた地理位置DB
- Web-Mercator-Projection A project to easily use and convert LonLat, Point and Tile to display info, markers, etc, in a map using the Web Mercator Projection.
- WGS84 - 座標変換および変換(ETRS89、OSGB3、NAD83、RGF93、Web Mercator、UTM)を行うライブラリ
Goコンパイラー
Goコンパイラーに関するGoライブラリ、ツール、または資料です。
- bunster - シェルスクリプトをGoにコンパイル
- c4go - C言語をGo言語に変換する
- cxgo - C言語をGo言語に変換する
- esp32 - GoをArduino言語に変換する
- f4go - FORTRAN 77言語をGo言語に変換する
- go2hx - GoからHaxeに、JavaScript/C++/Java/C#にコンパイルする
- gopherjs - GoからJavaScriptにコンパイルする
ゴルーチン
ゴルーチンに関するGoライブラリ、ツール、または資料です。
- anchor - マイクロサービスアーキテクチャにおけるコンポーネントライフサイクルを管理するライブラリ
- ants - Goにおける高性能かつ低コストのgoroutineプール
- artifex - Golang用のシンプルなメモリ内ジョブキュー(ワーカーベースのディスパッチ)
- async - Go向けの非同期タスクパッケージ(async/awaitスタイル)
- async - Go向けの代替シンクライブラリ(Future、Promise、ロック)
- async - panicが発生した場合でも安全に関数を非同期で実行し、回復できる仕組み
- async-job - AsyncJobは、コードが軽量で明確で高速な非同期キュージョブマネージャー
- autopool - 設定不要、自動スケーリング可能なGo用ワーカーポール(優先順位を考慮したスケジューリング)
- breaker - 実行フローを中断可能にする柔軟なメカニズム
- channelify - 関数をチャンネルを返すように変換し、簡単で強力な並列処理を実現
- conc -
concは Go での構造化された並列処理のツールボックスであり、一般的なタスクをより簡単かつ安全に実行できる。 - concurrency-limiter - タイムアウト、動的優先度、goroutineのコンテキストキャンセルをサポートするコンカレンシー制限器
- conexec - 関数を効率的かつ安全に並列実行できるためのコンカレンシーツールキット。全体のタイムアウトを指定してブロッキングを回避し、goroutineプールを活用して効率を高める。
- cyclicbarrier - Go向けのサイクルバリア
- execpool - exec.Cmdを基盤としたプールで、必要なときに標準入出力にstdinとstdoutを接続し、指定された数のプロセスを事前に起動する。FastCGIまたはApache Prefork MPMに非常に似ているが、任意のコマンドに対応する。
- flowmatic - 構造化された並列処理を簡単に実現
- go-accumulator - イベントの蓄積とその後の処理を解決
- go-actor - アクターモデルを使って並列プログラムを書くための小さなライブラリ
- go-floc - goroutineを簡単にオーケストレーション
- go-flow - goroutineの実行順序を制御
- go-tools/multithreading - この軽量なライブラリを使って、シンプルなAPIでgoroutineのプールを管理
- go-trylock - Golangの読み書きロックにTryLockをサポート
- go-waitgroup -
sync.WaitGroupと、エラーハンドリングおよび並列制御をサポートします。 - go-workerpool - Javaのスレッドプールをインスピレーションとして、Go WorkerPoolは重いGoのルーチンを制御することを目的としている
- goccm - Goの並列処理マネージャーパッケージは、同時に実行できるgoroutineの数を制限
- gohive - 高パフォーマンスで使いやすいGoroutineプール
- gollback - 非同期のシンプルな関数ユーティリティ、クロージャーおよびコールバックの実行管理
- gowl - Gowlはプロセス管理とプロセス監視ツールを一括で提供。無限のワーカープールにより、プールおよびプロセスの制御と状態監視が可能
- goworker - goworkerはGoベースのバックグラウンドワーカー
- gowp - gowpは並列処理を制限するgoroutineプール
- gpool - サイズ変更可能なコンテキスト認識型goroutineプールを管理し、並列処理を制御
- grpool - 軽量なGoroutineプール
- hands - 複数のgoroutineの実行および返却戦略を制御するプロセス制御ツール
- Hunch - Hunchは、異步フロー制御をより直感的にするような関数を提供しています。
All、First、Retry、Waterfallなど。 - kyoo - 無限のジョブキューと並列ワーカープールを提供
- neilotoole/errgroup -
sync/errgroupへのdrop-in代替品。N個のワーカーGoroutineのプールに限定されている。 - nursery - Goにおける構造化された並列処理
- oversight - OversightはErlangの監視ツリーの完全な実装
- parallel-fn - 並列で関数を実行する
- pond - Goで書かれたシンプルかつ高性能なgoroutineワーカーポール
- pool - 制限された消費者goroutineまたは無制限のgoroutineポールによるgoroutineの扱いとキャンセルの容易化
- powerlock - コンテキストキャンセルに対応した名前付きFIFOミューテックス、制限された待ちキュー、ウェルドッグ診断、pprofプロファイル、Prometheusメトリクス
- rill - Goによるクリーンで組み立てやすい、チャンネルベースの並列処理ツールキット
- routine -
routineはgoライブラリ用のThreadLocalです。それは非競合かつ高性能のgoroutineコンテキストアクセスインターフェースを封じ込み、使いやすく提供しており、コルーチンのコンテキスト情報をより自然にアクセスできるようにします。 - routine - コンテキストによるgo routine制御、サポート:メイン、Go、プールおよびいくつかのユーティリティエクスィクタ
- semaphore - チャンネルとコンテキストに基づくロック/アンロック操作のタイムアウトをもつセマフォパターンの実装
- semaphore - CAS(Compare-and-Swap)に基づく高速可変セマフォ実装(チャンネルベースのセマフォ実装より速い)
- stl - ソフトウェアトランザクショナルロック(ソフトウェアトランザクショナルメモリ(STM)並列制御機構に基づく)
- threadpool - Golangによるスレッドプール実装
- tunny - Golang用のgoroutineポール
- worker-pool - goworkerはGoによるシンプルなアシンクワーカーポール
- workerpool - タスクの実行並列性を制限する、タスクのキュー数を制限しないgoroutineポール
GUI
GUIに関するGoライブラリ、ツール、または資料です。
GUIに関するGoライブラリ、ツール、または資料です。
- app - GO、HTMLおよびCSSでアプリケーションを作成できるパッケージ。サポート:macOS、Windows(進行中)
- cimgui-go - Dear ImGuiに対してcimguiを用いて自動生成されたGoのラッパー。
- Cogent Core - macOS、Windows、Linux、iOS、Android、ウェブ上で実行可能な2次元および3次元アプリケーションを構築するためのフレームワーク
- DarwinKit - Goを使ってネイティブなmacOSアプリケーションを構築する
- energy - LCL(ネイティブシステムUIコントロールライブラリ)およびCEF(Chromium Embedded Framework)に基づくクロスプラットフォーム(Windows/macOS/Linux)
- fyne - Material Designに基づくGo用のクロスプラットフォームネイティブGUI。サポート:Linux、macOS、Windows、BSD、iOSおよびAndroid
- gio - GioはGoでクロスプラットフォームの即時モードGUIを書くためのライブラリ。Gioはすべての主要プラットフォーム(Linux、macOS、Windows、Android、iOS、FreeBSD、OpenBSDおよびWebAssembly)をサポートしています
- go-gtk - GTKのGoバインディング
- go-sciter - スクリータのGoバインディング:現代のデスクトップUI開発向け埋め込みHTML/CSS/スクリプトエンジン。マルチプラットフォーム対応。
- Goey - Windows / Linux / Mac向けのクロスプラットフォームUIツールキット集約。GTK、Cocoa、Windows API
- gogpu/ui - GPU加速GUIツールキット。22のウィジェット、3つのデザインシステム(Material、Fluent、Cupertino)、反応型シグナル、およびゼロCGO(GoGPUエコシステムの一部)。
- goradd/html5tag - HTML5タグ出力用のライブラリ。
- gotk3 - GTK3のGoバインディング。
- gowd - GO、HTML、CSSおよびNW.jsを用いた迅速かつシンプルなデスクトップUI開発。マルチプラットフォーム対応。
- proton - Cgoに依存しない純Goの即時モードGUIフレームワーク(Gioに基づく)。
- qt - Go向けのQtバインディング(Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi対応)。
- Spot - 反応型かつマルチプラットフォーム対応のデスクトップGUIツールキット。
- ui - プラットフォーム固有のGUIライブラリ(Go対応)。マルチプラットフォーム対応。
- unison - Goデスクトップアプリケーション向けの一元的なグラフィカルユーザー体験ツールキット。macOS、Windows、Linuxが対応。
- Wails - Mac、Windows、Linuxのデスクトップアプリケーションで、OS内蔵のHTMLレンダラーを使用したHTML UI。
- walk - Go向けのWindowsアプリケーションライブラリキット。
- webview - マルチプラットフォーム対応のウェブビューウィンドウ。シンプルな両方向JavaScriptバインディング(Windows / macOS / Linux)。
GUIに関するGoライブラリ、ツール、または資料です。
- AppIndicator Go - libappindicator3 CライブラリのGoバインディング。
- gogpu/systray - Windows、macOS、Linux向けの純Goシステムトレイライブラリ(ゼロCGO、GoGPUエコシステムの一部)。
- gosx-notifier - Go向けのOSXデスクトップ通知ライブラリ。
- mac-activity-tracker - OSXで、あなたのマシン上の任意の(プラグイン可能な)活動を通知するためのライブラリ。
- mac-sleep-notifier - GoでOSXの睡眠/起動通知。
- robotgo - GoによるクロスプラットフォームGUIシステム自動化。マウス、キーボードおよびその他の操作を制御。
- systray - 通知領域にアイコンとメニューを配置するためのクロスプラットフォームGoライブラリ
- trayhost - ホストオペレーティングシステムのタスクバーにアイコンを配置するためのクロスプラットフォームGoライブラリ
- zenity - シンプルなダイアログを作成し、ユーザーとグラフィカルにインタラクションするためのクロスプラットフォームGoライブラリおよびCLI
ハードウェア
ハードウェアに関するGoライブラリ、ツール、または資料です。
- arduino-cli - 公式Arduino CLIおよびライブラリ。独立して実行可能であり、大きなGoプロジェクトに統合することもできる
- emgo - エムベディッドシステム(例:STM32 MCU)向けのGo風言語
- ghw - Golangによるハードウェア発見/検査ライブラリ
- go-osc - Go向けのオープンサウンドコントロール(OSC)バインディング
- go-rpio - Go向けのGPIOライブラリでcgoを必要としない
- goroslib - ロボットオペレーティングシステム(ROS)向けのGoライブラリ
- joystick - 接続されたジョイスティックの状態を読み取るためのポールドAPI
- moody - macOS向けのハードウェアイベントパーソナリティデーモン。USB、充電器、蓋、その他ハードウェアイベントを監視し、カスタマイズ可能なパーソナリティで反応する
- sysinfo - 純GoライブラリでLinuxOS/カーネル/ハードウェアシステム情報を提供
画像
画像に関するGoライブラリ、ツール、または資料です。
- bild - 純Goによる画像処理アルゴリズムのコレクション
- bimg - libvipsを使用した高速かつ効率的な画像処理を実現する小さなパッケージ
- cameron - Go向けのアバター生成ライブラリ
- canvas - ベクターグラフィックスをPDF、SVGまたはレターバイア画像に変換
- color-extractor - 外部依存なしで主な色を抽出するライブラリ
- darkroom - 変更可能なストレージバックエンドと画像処理エンジンを備えた画像プロキシで、高速性と耐性に焦点を当てる
- eagle-image-api - libvipsを使用した画像最適化および変換API。AWS LambdaおよびCloudFrontにデプロイ可能
- geopattern - 文字列から美しい生成型画像パターンを作成する
- gg - Go で純粋に実装された 2D レンダリング
- gift - 画像処理フィルターを含むパッケージ
- gltf - 効率的かつ頑健な glTF 2.0 レーダー、ライタ、バリデーター
- go-cairo - Cairo グラフィックスライブラリへの Go バインディング
- go-gd - GD ライブラリへの Go バインディング
- go-nude - Go による裸の検出
- go-qrcode - カスタマイズ可能なスタイルで QR コードを生成可能(色、ブロックサイズ、形状、アイコンの調整を可能)
- go-webcolors - Python の webcolors ライブラリを Go に移植したライブラリ
- go-webp - libwebp を使用してウェブP画像をエンコード・デコードするライブラリ
- gocv - OpenCV 3.3+ を使用した Go によるコンピュータビジョンパッケージ
- gogpu/gg - キャンバスのようなAPIで実行されるGPU加速2D描画、ゼロCGO(GoGPU純Goグラフィックスエコシステムの一部)。
- goimagehash - Go による視覚的ハッシュパッケージ
- goimghdr - imghdr モジュールは Go でファイルに含まれる画像の種類を決定
- govatar - ユーモアのあるアバターを生成するライブラリおよびコマンドツール
- govips - Go 用の高速画像処理およびリサイズライブラリ
- gowitness - コマンドライン上で Go とヘッドレス Chrome を使ってウェブページをスクリーンショット
- gridder - グリッドベースの 2D グラフィックスライブラリ
- image2ascii - 画像を ASCII に変換
- imagick - ImageMagick の MagickWand C API への Go バインディング
- imaginary - 画像リサイズ用の高速でシンプルな HTTP ミクロサービス
- imaging - シンプルな Go 画像処理パッケージ
- imagor - libvipsを使用した高速かつ安全な画像処理サーバーとGoライブラリ
- img - 画像操作ツールの選定
- ln - Goでの3D線描レンダリング
- mergi - 画像操作ツールおよびGoライブラリ(マージ、カット、サイズ変更、ウォーターマーク、アニメーション)
- mort - Goで書かれたストレージおよび画像処理サーバー
- mpo - MPO 3Dフォト用のデコーダおよび変換ツール
- nativewebp - 外部依存なしのGo本体WebPエンコーダー
- picfit - Goで書かれた画像サイズ変更サーバー
- pt - Goで書かれたパストレイシングエンジン
- scout - ScoutはDIYビデオセキュリティ向けのスタンドアローンオープンソースソフトウェアソリューション
- smartcrop - 任意の画像およびカットサイズに対して良いカットを検出
- steganography - LSBストーマグラフィー用の純Goライブラリ
- stegify - LSBストーマグラフィー用のGoツールで、画像内に任意のファイルを隠すことができる
- svgo - SVG生成用のGo言語ライブラリ
- transformimgs - Transformimgsは、次世代フォーマットを使用してウェブ向けに画像をサイズ変更および最適化する
- webp-server - シンプルかつ最小限の画像サーバーで、画像のストレージ、サイズ変更、変換、キャッシュを実現
IoT(モノのインターネット)
IoT(モノのインターネット)に関するGoライブラリ、ツール、または資料です。
- connectordb - 量化された自己とIoT向けオープンソースプラットフォーム
- devices - IoTデバイス向けのライブラリセット、x/exp/io向けの実験的実装
- ekuiper - IoTエッジ向けの軽量データストリーム処理エンジン
- eywa - Project Eywaは、接続されたデバイスを追跡する接続管理器である
- flogo - プロジェクトFlogoは、IoTエッジアプリケーションおよび統合向けのオープンソースフレームワークです。
- gatt - Gattは、Bluetooth Low Energyの周辺装置を構築するためのGoパッケージです。
- gobot - Gobotは、ロボティクス、物理計算、そしてインターネット・オブ・シングス向けのフレームワークです。
- huego - Go向けの広範なPhilips Hueクライアントライブラリです。
- iot - IoTは、Google IoT Coreデバイスを実装するためのシンプルなフレームワークです。
- periph - 周辺装置I/Oを、低レベルのボード機能とインターフェースするためのもの。
- rulego - RuleGoは、IoTエッジ向けの軽量かつ高性能、埋め込み型、オーガナイズ可能なコンポーネントベースのルールエンジンです。
- sensorbee - IoT向けの軽量ストリーム処理エンジンです。
- shifu - KubernetesネイティブのIoT開発フレームワークです。
- smart-home - IoT自動化向けのソフトウェアパッケージです。
ジョブスケジューラー
ジョブスケジューラーに関するGoライブラリ、ツール、または資料です。
- cdule - データベースサポートを備えたジョブスケジューラライブラリ
- cheek - シンプルなcrontabのようなスケジューラで、ジョブスケジューリングにKISSアプローチを提供することを目指しています。
- clockwerk - シンプルでフラットな構文を使用して周期ジョブをスケジュールするためのGoパッケージ。
- cronticker - クロントークのスケジュールをサポートするタイッカー実装。
- go-cron - Go向けのシンプルなクロントライブラリで、1秒から1年間の特定の日時まで、クロージャーや関数を変動する間隔で実行可能です。主にウェブアプリケーションおよび長期間実行するデーモン向けです。
- go-cron - 実行時スケジュール更新、各項目のコンテキスト、リソース性ミドルウェア(リトライ、回路ブレーカー、レート制限)、観測性ハンドルを備えたクロントークジョブスケジューラ。robfig/cronの継承者です。
- go-job - Go向けの柔軟で拡張可能なジョブスケジューリングおよび実行ライブラリです。
- go-quartz - Go向けのシンプルかつ依存関係のないスケジューリングライブラリです。
- go-scheduler - 標準クロントーク表現、カスタムデシペイター、間隔、タスク依存性をサポートするジョブスケジューラです。
- gocron - Goのジョブスケジューリングが簡単でスムーズです。これはjasonlvhit/gocronの積極的に維持されているフォークです。
- goflow - シンプルながら強力なDAGスケジューラおよびダッシュボードです。
- gron - タイムベースのタスクをシンプルなGo APIで定義し、Gronのスケジューラがそれらを適切に実行します。
- gronx - Crontab形式のタスクリストをパースし、タスクを実行するランナーとデーモンを提供します。
- JobRunner - ジョブキューとリアルタイムモニタリングが組み込まれた、スマートかつ機能豊富なクロントークジョブスケジューラ。
- leprechaun - ウェブ훅、クロントーク、クラシックスケジューリングをサポートするジョブスケジューラ。
- ofelia - Docker用のジョブスケジューラ(Docker用のcrontab);mcuadros/ofeliaのフォークで、Web UI、ジョブの依存関係、リトライ、ジョブの永続化を追加。
- pending - キャンセル、順調なシャットダウン、オプションの並列制限をサポートするIDベースのデバウンスされたタスクスケジューラ(遅延タスク用)。
- sched - タイムを高速に進める能力を持つジョブスケジューラ。
- scheduler - クロントークジョブのスケジューリングを簡単に行う。
- scheduler - Go本体の分散ジョブスケジューラ。遅延タスク、バッチ処理のRedis連携、リトライ、リースベースの回復、バージョン付きキュー分区を備えている。
- tasks - Goで繰り返しタスクを処理するためのシンプルなプロセス内スケジューラ。
- tickstem/cron - HTTPクロントークジョブのスケジューリング用のGoクライアント。実行履歴、失敗アラート、テストハンドラでライブ認証なしで使用できるtsk-localを提供。
- tickstem/heartbeat - デッドマンスイッチのハートビートモニタリング用のGoクライアント:各ジョブ実行後にURLにpingし、pingが届かなくなるとメールでアラートを受信。
JSON
JSONに関するGoライブラリ、ツール、または資料です。
- ajson - Go用の抽象JSONとJSONPathサポート。
- ask - マップやスライス内のネストされた値へのアクセスを簡単に行う。encoding/jsonや他の「Unmarshal」をGoデータ型に変換するパッケージと組み合わせて使用可能。
- dynjson - 動的API用のカスタムJSONフォーマットを提供。
- ej - 異なるソースからJSONを簡潔に書く・読む。
- epoch - JSONでUnixタイムスタンプ/エポックをGoのtime.Time型に変換・変換するためのプリミティブを含む。
- fastjson - カスタム構造体、コード生成、リフレクションを使わない、Go向けの高速JSONパーサー兼バリデーター。
- gabs - Goで未知または動的なJSONを解析、作成、編集するためのライブラリ。
- gjo - JSONオブジェクトを作成するための小さなユーティリティ。
- GJSON - 1行のコードでJSONの値を取得
- go-jsonerror - Go-JsonErrorは、JsonApi仕様に従ったJSONレスポンスエラーを簡単に作成できるようにするためのパッケージです
- go-respond - 一般的なHTTP JSONレスポンスを処理するためのGoパッケージ
- gojmapr - JSONパスを使って複雑なJSONからシンプルな構造体を取得
- gojq - GolangにおけるJSONクエリ
- gojson - 例JSONからGo(golang)構造体定義を自動生成
- htmljson - GoでJSONをHTMLに豊かにレンダリング
- JayDiff - Goで書かれたJSON差分ユーティリティ
- jettison - Go向け高速で柔軟なJSONエンコーダー
- jscan - 高パフォーマンスのゼロ割り当てJSONイテレーター
- JSON-to-Go - JSONをGo構造体に変換
- JSON-to-Proto - JSONをProtobufにオンライン変換
- json2go - 高度なJSONからGo構造体変換。複数のJSONドキュメントをパースし、すべてに合う構造体を作成できるパッケージを提供
- jsonapi-errors - JSON APIエラー参照に基づいたGoバインディング
- jsoncolor -
encoding/jsonの置き換えとして、色付きJSONを出力するツール - jsondiff - RFC6902(JSON Patch)に基づいたGo用JSON差分ライブラリ
- jsonf - ハイライト表示と構造体クエリによるJSONのフォーマット化ツール
- jsongo - JSONオブジェクトを作成しやすくするフロントエンドAPI
- jsonhal - カスタム構造体をHAL形式のJSONレスポンスにマーシャルできるシンプルなGoパッケージ
- jsonhandlers - さまざまなソースからJSONを簡単に読み書きできるシンプルなJSONライブラリ
- jsonic - JSONを構造体を定義せずに扱い、クエリするためのユーティリティ。
- jsonvalue - 構造化されていないJSONデータに最適化された高速で使いやすいライブラリ。
encoding/jsonを置き換える。 - jzon - 標準API/動作と互換性を持つJSONライブラリ。
- kazaam - JSONドキュメントの任意の変換に使えるAPI。
- mapslice-json - GoのマップスライスでJSONのマップを順序的にマーシャル/アンマーシャルできる。
- marshmallow - 柔軟な使用ケースに最適なパフォーマンスのJSONアンマーシャル。
- mp - シンプルなCLIメールパーサー。現在はstdinを読み取りJSONを出力する。
- OjG - Go用の最適化されたJSONは、パフォーマンスの高いパーサーであり、JSONPathを含むさまざまなJSONツールを備えている。
- omg.jsonparser - 条件による検証をgolang構造体フィールドタグで行うシンプルなJSONパーサー。
- silentjson - AVX2 SIMD指令を活用したゼロ割り当てJSON境界スキャナとスプリッター。
- SJSON - 1行のコードでJSONの値を設定できる。
- ujson - 構造化されていないJSONに対応する高速かつ最小限のJSONパーサーとトランスフォーマー。
- vjson - JSONオブジェクトの検証に、フлюイントAPIでJSONスキーマを宣言するGoパッケージ。
ロギング
ロギングに関するGoライブラリ、ツール、または資料です。
- caarlos0/log - カラフルなCLIログ出力。
- distillog - 簡潔なレベル別ログ(stdlibとログレベルをイメージ)。
- glg - glgはGo向けのシンプルで高速なレベル別ログライブラリ。
- glo - PHP Monologにインスパイアされたログ機能で、同等の重みレベルを持つ。
- glog - Go向けのレベル別実行ログ。
- go-cronowriter - 現在の日時に基づきログファイルを自動的に回転するシンプルなライター(cronologのように)。
- go-log - スタックトレース、オブジェクトダンプ、オプションのタイムスタンプを備えたログライブラリ。
- go-log - Goにおけるシンプルで設定可能なログ出力、レベル、フォーマッタ、ライターをサポート。
- go-log - ログライブラリはレベルと複数のハンドラーをサポート。
- go-log - GoにおけるLog4jの実装。
- go-log4g - Log4gはGoの標準ログ/slogログファサードにLog4jスタイルの設定とパターンレイアウトを提供。
- go-logger - Goプログラム向けのシンプルなログ出力、レベルハンドラーを備える。
- GoLogX - 追加のみ可能な、ハッシュ連鎖付き、オプションでEd25519署名されたslogハンドラー、かつ、改ざんのオフライン検証を可能にする。
- gone/log - 高速で拡張可能で、標準ライブラリと互換性のある、フル機能のログライブラリ。
- httpretty - デバッグ時にターミナルに通常のHTTPリクエストを整形して表示(http.DumpRequestに類似)。
- journald - systemd JournalのネイティブAPIをGoで実装したログ出力ライブラリ。
- kemba - debugをインスピレーションとして作った、小さなデバッグログツール。CLIツールやアプリケーションに最適。
- lazyjournal - journalctl、ファイルシステム、DockerおよびPodmanコンテナ、Kubernetesポッドからのログを読み取り・フィルタリングするTUI。
- log - O(1)のログシステムで、1つのログを複数のライターに接続できる(例:stdout、ファイル、TCP接続)。
- log - Go向けの構造化ログパッケージ。
- log - Go向けのシンプルで設定可能かつスケーラブルな構造化ログ。
- log - Go向けの構造化ログインターフェースは、ログファサードとその実装を明確に分離。
- log - 標準ログパッケージに囲まれたシンプルなレベル別ログラッパー。
- log - 標準で提供されるシンプルなログフレームワーク。
- log15 - Go向けのシンプルで強力なログ出力。
- logdump - 複数レベルのログ出力パッケージ。
- logex - Golangのログライブラリ、トレーサーとレベルをサポートし、標準ログライブラリでラップ。
- logger - Go向けのミニマリズムなログライブラリ。
- logo - Golangのログを異なる設定可能なライターより出力するログライター
- logrus - Go向けの構造化ログ
- logrusiowriter -
io.Writerを使用した logrus ロガーの実装。 - logrusly - logrusにエラーを送信するプラグインです。 Loggly
- logutils - Go(Golang)の標準ログを少し改善したユーティリティ(拡張)
- logxi - 高速で使いやすい12要因アプリケーション用ログ
- lumberjack - シンプルなローリングログ、io.WriteCloserを実装
- mlog - Go向けのシンプルなログモジュール。5レベル、オプションのローテートログファイル機能、および標準出力/標準エラー出力
- noodlog - パラメータ化されたJSONログライブラリ。センシティブなデータを暗号化し、あらゆるコンテンツをマーシャルできる。JSON文字列のエスケープ文字や、プリントされたポインタ代わりの値をなくす
- onelog - Onelogは非常にシンプルで、非常に効率的なJSONログ。すべてのシナリオで最も速いJSONログライブラリであり、割り当て量が最も少ないログライブラリの一つでもある
- ozzo-log - ログの重み、分類、フィルタリングをサポートする高性能ログ
- phuslu/log - 高性能な構造化ログ
- pp - Go言語向けの色付きプリント機能
- rollingwriter - RollingWriterは、複数のポリシーを備えた自動回転
io.Writer実装であり、ログファイルの回転を提供します。 - seelog - 柔軟なディスパッチ、フィルタリング、フォーマットを備えたログ機能
- sentry-go - SentryのGo用SDK。リアルタイムのアラートとパフォーマンスモニタリングにより、エラーの監視と追跡を支援
- slf4g - Golang向けのシンプルなログファサード:シンプルな構造化ログだが、強力で拡張可能かつカスタマイズ可能。かつてのログフレームワークの数十年分の経験を学び、その成果を活かした
- slog - Go向けの軽量かつ設定可能で拡張可能なログ
- slog-configurator - 環境変数から標準ライブラリのlog/slogログを設定:レベル、フォーマット、ソース位置、標準出力/標準エラーの分割
- slog-formatter - slog向けの共通フォーマッタと、独自のフォーマッタを構築するためのヘルパー
- slog-multi - slog.Handlerの連鎖(パイプライン、ファンアウトなど)
- slogor - 色付きのslogハンドラー
- spew - Goデータ構造の深層プリントを実装し、デバッグを支援
- sqldb-logger - Go SQLデータベースドライバー用のログ記録ライブラリ。既存の*sql.DB標準ライブラリの使用を変更せずに機能を提供。
- stdlog - Stdlogは、レベル別ログ出力を行うオブジェクト指向ライブラリ。cronジョブに非常に有用。
- structy/log - シンプルで使いやすいログシステム。ミニマリズムを採用しているが、デバッグやメッセージの区別に必要な機能を備えている。
- tail - BSDのtailプログラムの機能をGoパッケージで再現しようとするもの。
- timberjack - サイズ、時間、スケジュールベースのクロックによる回転をサポートし、圧縮とクリーンアップを実行するローリングログ。
- tint - tintedログを出力するslog.Handler。
- xlog - Go向けのプラグインアーキテクチャと柔軟なログシステム。レベル制御、複数のログターゲット、カスタムログフォーマットをサポート。
- xlog - 構造化ログを出力する
net/contextに意識したHTTPハンドラー向けの柔軟なディスパッチ機能付きのログガーティングシステム。 - xylog - レベル別かつ構造化されたログ記録、動的フィールド、高性能、ゾーン管理、シンプルな設定、読みやすい構文。
- yell - もう一つのミニマリズムを採用したログライブラリ。
- zap - Goでの高速、構造化、レベル別ログ記録。
- zax - Zapログ記録とContextを統合し、Goのログ記録により高い柔軟性を提供。
- zerolog - ゼロ割り当てJSONログ記録。
- zkits-logger - 強力なゼロ依存JSONログ記及。
- zl - 開発者体験を高めたZapベースのログ記録。豊かな機能を提供しながらも設定が簡単。
機械学習
機械学習に関するGoライブラリ、ツール、または資料です。
- Anneal - Goで構築されたマシンラーニングコンパイラ。WebGPUバックエンドを備えた、完全にゼロから作成されたtinygradのポート。
- bayesian - Golang向けのナイブベイズ分類。
- born - Burn(Rust)をインスピレーションとして作られたディープラーニングフレームワーク。自動微分、型安全なテンソル、ゼロ-CGOによるGPU加速を備える。
- catboost-cgo - 高速かつスケーラブルで高パフォーマンスの決定木ベースの勾配ブーストライブラリ。Goで構築され、Cgoを用いて高速推論を実現するCatBoostモデル。
- CloudForest - 純Goで構築された、高速かつ柔軟でマルチスレッドの決定木のアンサンブル。
- datatrax - データエンジニアリングと古典的な機械学習ツールキット。バッチ処理、型変換、7アルゴリズムを純Goで実装し、ゼロ依存。
- ddt - 動的決定木、カスタマイズ可能なルールを定義する木の作成
- eaopt - 進化型最適化ライブラリ
- evoli - 遺伝アルゴリズムおよび粒子群最適化ライブラリ
- fonet - Goで書かれた深層ニューラルネットワークライブラリ
- go-cluster - Goで実装されたk-modesおよびk-prototypesクラスタリングアルゴリズム
- go-deep - Goで構築された機能豊かなニューラルネットワークライブラリ
- go-fann - Fast Artificial Neural Networks(FANN)ライブラリのGoバインディング
- go-galib - Go/golangで書かれた遺伝アルゴリズンライブラリ
- go-pr - Go言語で構築されたパターン認識パッケージ
- gobrain - Goで書かれたニューラルネットワーク
- godist - さまざまな確率分布および関連メソッド
- goga - Go用の遺伝アルゴリズムライブラリ
- GoLearn - Go用の一般機械学習ライブラリ
- GoMind - Goで書かれたシンプルなニューラルネットワークライブラリ
- goml - Goでのオンライン機械学習
- GoMLX - Go用の高速機械学習フレームワーク
- gonet - Goでのニューラルネットワーク
- Goptuna - Goで書かれたブラックボックス関数用ベイズ最適化フレームワーク。すべてを最適化します
- goRecommend - Goで書かれた推薦アルゴリズムライブラリ
- gorgonia - Theanoに類するGoベースのグラフ型計算ライブラリで、さまざまな機械学習およびニューラルネットワークアルゴリズムの構築に必要なプリミティブを提供
- gorse - Goで書かれた協調フィルタリングベースのオフラインリコメンデーションシステムバックエンド
- goscore - PMML用のGoスコアリングAPI
- gosseract - Tesseract C++ライブラリを使用したGoによるOCRパッケージ
- hugot - HuggingfaceのTransformerパイプラインをGoでONNXRuntimeで実装
- libsvm - LIBSVM 3.14に基づくlibsvm Go版の派生作品
- m2cgen - Pythonで書かれたCLIツール。訓練済みの古典的な機械学習モデルをゼロ依存のネイティブGoコードに変換。
- neural-go - バックプロパゲーションによる訓練を行うGo実装のマルチレイヤーパーセプトロンネットワーク
- ocrserver - DockerおよびHerokuで簡単にデプロイできるシンプルなOCRAPIサーバー
- onnx-go - Open Neural Network Exchange (ONNX)へのGoインターフェース
- probab - 確率分布関数・ベイズ推論。純Goで書かれたもの
- randomforest - Go向けに使いやすいランダムフォレストライブラリ
- regommend - リコメンデーションおよび協調フィルドリングエンジン
- shield - Go向けの柔軟なトークナイザーとストレージバックエンドを備えたベイズテキスト分類器
- tfgo - 使いやすいTensorFlowバインディング:公式TensorFlow Goバインディングの利用を簡略化。Goで計算グラフを定義し、Pythonで訓練されたモデルをロード・実行。
- Varis - Golangによるニューラルネットワーク
メッセージング
メッセージングに関するGoライブラリ、ツール、または資料です。
- ami - Redis Cluster Streamsに基づく信頼性のあるキューへのGoクライアント
- amqp - Go用のRabbitMQクライアントライブラリ
- APNs2 - GoによるHTTP/2 Apple Push Notificationプロバイダー - iOS、tvOS、SafariおよびOSXアプリへのプッシュ通知を送信
- Asynq - Redisに基づくシンプルで信頼性・効率性の高いGo用分散タスクキュー
- backlite - 型安全かつ永続的な、埋め込み型タスクキューおよびバックグラウンドジョブ実行者(SQLiteベース)
- Beaver - リアルタイムメッセージングサーバー。Webおよびモバイルアプリにおけるスケーラブルなアプリ内通知、マルチプレイヤーゲーム、チャットアプリの構築に活用。
- broker - プロダクション向けメッセージング抽象化。複数のブローカーに対応する統一APIと、組み込みのOpenTelemetry統合。
- Bus - 内部通信用のミニマリストなメッセージバス実装。
- Centrifugo - Goで構築されたリアルタイムメッセージング(WebsocketsまたはSockJS)サーバー。
- Chanify - iOSデバイスにメッセージを送るプッシュ通知サーバー。
- Commander - 高レベルのイベント駆動型消費者/プロダクターサービス。Apache Kafkaなどのさまざまな「ディアレクト」に対応。
- Confluent Kafka Golang Client - confluent-kafka-goは、Apache KafkaおよびConfluent Platform向けのConfluentのGolangクライアント。
- dbus - D-Bus向けのGoによるネイティブバインディング。
- drone-line - バイナリ、DockerまたはDrone CIを使用したLine通知の送信
- emitter - Go方式でイベントを発行。ワイルドカード、プレディケート、キャンセル可能など、多くの優れた機能を備えている。
- event - オブザーバーパターンの実装。
- EventBus - 軽量イベントバスで、非同期対応を実現。
- gaurun-client - Gaurunクライアント(Goで構築)。
- Glue - 強固なGoおよびJavaScriptソケットライブラリ(Socket.ioの代替)。
- go-eventbus - Go向けのシンプルイベントバスパッケージ。
- Go-MediatR - イベント駆動アーキテクチャ内でメディエーターパターンおよび簡易CQRSパターンを扱うためのライブラリ。C#のMediatRライブラリをインスピレーションとしている。
- go-mq - 宣言型設定を用いたRabbitMQクライアント。
- go-notify - freedesktop通知仕様のネイティブ実装。
- go-nsq - NSQ向けの公式Goパッケージ。
- go-res - NATSおよびResgateを用いて、クライアントをシームレスに同期させるREST/リアルタイムサービスの構築用パッケージ。
- go-vitotrol - Viessmann Vitotrolウェブサービス向けのクライアントライブラリ。
- GoEventBus - ブレードのように速く、メモリ内で動作し、ロックフリーなイベントバスライブラリ
- Gollum - n:mのマルチプレクサが、異なるソースからのメッセージを収集し、複数の宛先にブロードキャストする
- golongpoll - HTTP longpollサーバーライブラリでウェブのパブリッシュ・サブスクリプションをシンプルに実現
- gopush-cluster - gopush-clusterはGoによるプッシュサーバークラスタ
- gorush - とgoogle を用いたプッシュ通知サーバー。 APNs2 GCM
- gosd - メッセージをチャンネルに送信するタイミングをスケジュールするためのライブラリ
- guble - プッシュ通知(Google Firebase Cloud Messaging、Apple Push Notificationサービス、SMS)およびウェブソケット、REST APIを用いたメッセージサーバー。分散運用とメッセージの永続化をサポート
- hare - TCPソケットへのメッセージ送信と受信を扱う、ユーザーに親切なライブラリ
- hub - Goアプリケーション向けのメッセージ/イベントハブ。発行・購読パターンを採用し、RabbitMQのエクチェンジのようなアリアをサポート
- hypermatch - 非常に高速かつ効率的なGoライブラリ。イベントを大量のルールにマッチングする
- jazz - RabbitMQのキュー管理やメッセージの発行・消費に用いるシンプルなRabbitMQ抽象化層
- machinery - 分散メッセージ伝達に基づく非同期タスクキュー/ジョブキュー
- mangos - Nanomsg(“スケーラビリティプロトコル”)の純Go実装。トランスポートの相互運用性を備える
- melody - ウェブソケットセッションを扱うミニマリズムフレームワーク。ブロードキャストや自動ping/pong処理を含む
- Mercure - Mercureプロトコル(サーバーサンプトイベントに基づく)を用いたサーバーから送信される更新のディスパッチを行うサーバーとライブラリ
- messagebus - messagebusはGoによるシンプルな非同期メッセージバス。イベントソース、CQRS、DDDの実装時にイベントバスとして最適
- NATS Go Client - メッセージングに関するGoライブラリ、ツール、ソフトウェア、または資料です。 messaging system.
- nsq-event-bus - NSQのトピックとチャンネルをラップした極めて小さなラッパー
- oplog - REST API向けの一般化されたオペレーションログ/再現システム
- pubsub - Go向けのシンプルな発行・購読パッケージ
- Quamina - メッセージおよびイベントのフィルタリングに用いる高速パターンマッチング
- rabbitroutine - RabbitMQの自動再接続とメッセージ送信リトライを扱う軽量ライブラン。再接続後にRabbitMQ内でエンティティを再宣言する必要性を考慮している
- rabbus - AMQPのエクスチェンジとキューに対する極めて小さなラッパー
- rabtap - RabbitMQのスイス軍刀のようなCLIアプリ
- RapidMQ - RapidMQは、ローカルメッセージキューの管理を行う軽量かつ信頼性の高いライブラリ
- Ratus - RatusはRESTベースの非同期タスクキューサーバー
- redisqueue - redisqueueは、Redisストリームを使用するキューのプロダクタとコンシューマを提供
- rmqconn - RabbitMQの再接続。amqp.Connectionおよびamqp.Dialに対するラッパー。接続が破綻した場合に再接続を行い、Close()メソッドの呼び出しを強制閉じる前に接続を閉じる
- sarama - Apache Kafka用のGoライブラリ
- Uniqush-Push - モバイルデバイス向けのサーバーサイド通知に用いるRedisベースの統合プッシュサービス
- varmq - Goプログラムの並列実行に適したストレージに依存しないメッセージキューとワーカーポール
- Watermill - メッセージストリームとの効率的な対応。イベント駆動アプリケーションの構築、イベントソースの実現、メッセージを介したRPC、サガの実現。KafkaやRabbitMQといった従来のpub/sub実装を使用できるが、HTTPまたはMySQLバイナリログも使用可能
- zmq4 - GoインターフェースによるZeroMQ版4。また、version 3およびversion 2にも利用可能。
Microsoft Office
- unioffice - オフィスドキュメント(.docx、.xlsx、.pptx)の作成と処理に特化した純粋なgoライブラリ。
Microsoft Excel
Microsoft Excelに関するGoライブラリ、ツール、または資料です。
- cellwalker - Excelのセル名をほぼ1セルずつ順に走査する
- excelize - GoでMicrosoft Excel™(XLSX)ファイルの読み書きを行うライブラリ
- exl - Goで書かれた構造体にExcelをバインディング(Go1.18以降のみ対応)
- go-excel - 関連DBのようなExcelをテーブルとして読み取るためのシンプルかつ軽量なリーダー
- xlsx - Goプログラムで、Microsoft Excelの最新バージョンが使用するXMLフォーマットを読みやすくするライブラリ
- xlsx - Goプログラムで既存のMicrosoft Excelファイルを高速かつ安全に読み取り・更新する方法
Microsoft Word
Microsoft Wordに関するGoライブラリ、ツール、または資料です。
- godocx - Microsoft Word (Docx)ファイルの読み書きに使えるライブラリ。
その他
依存性注入
依存性注入に関するGoライブラリ、ツール、または資料です。
- alice - Golang用の追加型の依存性注入コンテナ
- autowire - ジェネリクスとリフレクションを用いたGolangの依存性注入
- boot-go - Go開発者向けのリフレクションを用いたコンポーネントベース開発と依存性注入
- componego - コンポーネントベースの依存性注入フレームワーク。テスト中にコードをダブリングせずに動的に依存性を置き換えることができる
- cosban/di - コード生成をベースにした依存性注入のワイヤリングツール
- di - Goプログラミング言語向けの依存性注入コンテナ
- dig - Go向けの反射ベースの依存性注入ツールキット
- dingo - GuiceをベースにしたGo向けの依存性注入ツールキット
- do - ジェネリクスをベースにした依存性注入フレームワーク
- fx - Go向けの依存性注入をベースにしたアプリケーションフレームワーク(digに構築)
- go-beans - Spring風の依存性注入およびアプリケーションライフサイクルフレームワーク
- Go-Spring - Spring Bootをインスピレーションとして、DI、自動設定、ライフサイクル管理を提供しつつ、Goのシンプルさと効率性を維持する、高性能なGoフレームワーク
- gocontainer - シンプルな依存性注入コンテナ
- godi - スコープとジェネリクスをサポートするMicrosoft風のGo向け依存性注入
- goioc/di - Spring風の依存性注入コンテーンヤ
- GoLobby/Container - GoLobby Containerは、Goプログラミング言語向けの軽量かつ強力なIoC依存性注入コンテナ
- gontainer - Goプロジェクト向けの依存性注入サービスコンテナ
- gontainer/gontainer - YAMLベースの依存性注入コンテナ。スコープと循環依存の自動検出をサポート。Gontainerは並列安全である
- HnH/di - クリーンなAPIと柔軟性に焦点を当てたDIコンテナライブラリ
- kinit - グローバルモード、階層初期化、パニック安全な終了をサポートするカスタマイズ可能な依存性注入コンテナ
- kod - ジェネリクスをベースにしたGo向けの依存性注入フレームワーク
- linker - 反射ベースの依存性注入およびコントロール反転ライブラリ(コンポーネントライフサイクルをサポート)
- nject - ライブラリ、テスト、HTTPエンドポイント、サービススタートアップ向けの型安全かつ反射ベースのフレームワーク
- ore - 軽量で汎用的かつシンプルな依存性注入(DI)コンテナ
- parsley - 柔軟でモジュラリティを重視した反射ベースのDIライブラリで、スコープコンテキストやプロキシ生成といった高度な機能を備え、大規模なGoアプリケーション向けに設計されています。
- wire - Golang向けの厳密なランタイム依存注入。
プロジェクト構成
プロジェクト構成に関するGoライブラリ、ツール、または資料です。
- ardanlabs/service - A starter kit で生産レベルのスケーラブルなウェブサービスアプリケーションを構築します。
- cookiecutter-golang - 生産性の高いベストプラクティスに基づいたGoアプリケーションのスタートテンプレート。
- go-blueprint - 人気フレームワークを用いて、迅速にGoプロジェクトを立ち上げるための機能。
- go-ddd - ドメイン駆動設計(DDD)テンプレートで、CQRS、値オブジェクト、一意性を保つコマンド、トランザクション出力ボックスを含む。
- go-grpc-bazel-example - Go gRPCマイクロサービスの例モノリソース(monorepo)で、Bazel、grpc-gateway、OpenAPI、Kubernetesを統合。
- go-module - Goで書かれた典型的なモジュールのテンプレート。
- go-rest-api-boilerplate - AI対応、生産環境対応のGo REST APIテンプレート。クリーンアーキテクチャ、JWT認証、RBAC、PostgreSQL、Dockerホットリロード、Swaggerドキュメンテーションを備えています。
- go-sample - Goアプリケーションプロジェクトのサンプルレイアウトと実際のコードを含む。
- go-starter - VSCode DevContainersと高度に統合された、意見をもつ生産環境対応RESTフルJSONバックエンドテンプレート。
- go-todo-backend - モジュラリーレイアウトを用いたGo Todoバックエンドの例として、プロダクトマイクロサービスを構築。
- goapp - Goウェブアプリケーション/サービスの構造と開発に向けた意見をもつガイドライン。
- gobase - 基本的なセットアップを備えたシンプルなGoアプリケーションのスケルトン。
- golang-standards/project-layout - Goエコシステムにおける一般的なおよび新規のプロジェクト構成パターンのセット。注:組織名から考えられるように、これは公式なgolang標準を表していません。詳細については this issue を参照ください。ただし、一部のユーザーはこの構成が有用であると考えるでしょう。
- golang-templates/seed - Goアプリケ及のGitHubリポジトリテンプレート。
- goxygen - GoとAngular、React、またはVueで、数秒で現代的なWebプロジェクトを生成。
- insidieux/inizio - プラグインを用いたGoプロジェクトレイアウト生成ツール。
- kickstart.go - 第三者ライブラリに依存しない、極めてシンプルなシングルファイルGo HTTPサーバーテンプレート。
- modern-go-application - 現代的な開発慣行を適用したGoアプリケーションのボイラープレートと例。
- nunu - NunuはGoアプリケーションの構築に用いるスケルトンツール。
- pagoda - Goで構築された、迅速かつ簡単なフルスタックWeb開発スタートキット。
- scaffold - Scaffold は、Go プロジェクトの初期レイアウトを生成します。ビジネスロジックの実装に集中できるようにします。
- wangyoucao577/go-project-layout - Go プロジェクトのレイアウト構成に関する実践と議論のセット。
文字列
文字列に関するGoライブラリ、ツール、または資料です。
- bexp - Brace Expansion メカニズムの Go 実装で任意の文字列を生成します。
- caps - ケース変換用のライブラリ。
- go-formatter - 置換フィールドをカッコブレースで囲んだ
{}形式の文字列を実装します。 - gobeam/Stringy - 文字列をキャメルケース、スネークケース、ケバブケース/スラッグ化などに変換するための文字列操作ライブラリ。
- str - 変換を組み合わせるためのパイプライン中心の文字列ツールキット。
- strcase - 標準ライブラリの strings/bytes パッケージのケース不感実装。
- stringFormatter - Python または C# のような文字列フォーマットに加え、追加のテキストフォーマット機能を備えた文字列フォーマット。
- strutil - 文字列ユーティリティ。
- sttr - マルチプラットフォーム対応の CLI アプリで、文字列に対してさまざまな操作を行うことができます。
- xstrings - その他の言語から移植された便利な文字列関数のコレクション。
未分類
未分類に関するGoライブラリ、ツール、または資料です。
- anagent - 最小限の構成、プラグイン対応の Golang エベントループ/タイマーハンドラー(デプロイインジェクションを用いる)。
- antch - 高速で強力かつ拡張可能なウェブスクレイピング・スクレイピングフレームワーク。
- archives - マルチフォーマットの Go ライブラリで、アーカイブや圧縮フォーマットの処理に加え、統一APIとio/fsに適合する仮想ファイルシステムを提供する。
- autoflags - 構造体フィールドから自動的にコマンドラインフラグを定義するためのGoパッケージ。
- avgRating - ウィルソンスコア方程式に基づいて、平均スコアと評価を計算します。
- banner - あなたのGoアプリケーションに美しいバナーを追加します。
- base64Captcha - Base64captch は、数字、数値、アルファベット、算術、音声、数字・アルファベットのキャプチャをサポートします。
- basexx - さまざまな数進法の数字文字列の変換(変換・変換・相互変換)を行います。
- battery - マルチプラットオーラー対応の、標準化されたバッテリー情報ライブラリ。
- bitio - GoにおけるビットレベルのReaderとWriterの高度に最適化された実装
- browscap_go - GoLang ライブラリ for Browser Capabilities Project.
- captcha - Package captchaは、キャプチャ生成に便利で主観のないAPIを提供する
- common - サーバーフレームワーク向けのライブラリ
- conv - Package convは、Goの型間の高速かつ直感的な変換を提供する
- datacounter - Goにおけるリーダー/ライター/HTTP.ResponseWriter用のカウンターパッケージ
- fake-useragent - 現実世界のデータベースを用いた、最新のシンプルなユーザーエージェントのフェイク生成ツール(Golang)
- faker - Go向けのランダムなフェイクデータおよび構造体生成器
- ffmt - 人間が見やすいデータの表示を美化する
- gatus - 自動サービスのヘルスダッシュボード
- go-commandbus - Go向けの軽量かつプラグイン可能なコマンドバス
- go-commons-pool - Golang向けのジェネリックオブジェクトプール
- go-openapi - オープンAPIスキーマをパースし、利用するためのパッケージのコレクション
- go-resiliency - Golang向けのリソリエンスパターン
- go-unarr - RAR、TAR、ZIPおよび7zアーカイブの圧縮解除ライブラリ
- gofakeit - Goで書かれたランダムデータ生成器
- goffi - CGOを使わずCライブラリを呼び出すための、libffiスタイルの型付き呼び出しインターフェースと構造化されたエラー処理による純GoのFFI
- gommit - Gitのコミットメッセージを分析して、定義されたパターンに従っているかを確認する
- gopsutil - プロセスおよびシステム使用率(CPU、メモリ、ディスクなど)を取得するための、マルチプラットフォームライブラリ
- gosh - Goの統計ハンドラー、構造体、測定メソッドを提供する
- gosms - 自作のGoによるローカルSMSゲートウェイ(SMS送信に使用可能)
- gotoprom - 公式Prometheusクライアント用の型安全なメトリクスビルダー用のラッパーライブラリ
- gountries - 国および行政区画データを公開するパッケージ
- gtree - Markdownまたはプログラム的に生成するためのツリー出力とディレクトリ作成用のCLI、パッケージ、ウェブ機能を提供
- health - Go用のシンプルで柔軟なヘルスチェックライブラリ
- health - 使いやすく、拡張可能なヘルスチェックライブラリ
- healthcheck - RESTフルサービス向けの意見に基づいた並列ヘルスチェックHTTPハンドラー
- hostutils - GoでFQDNリストをパッケージ化および展開するライブラリ
- indigo - Sonyflakeを用いて分散生成し、Base58でエンコードした一意ID生成ライブラリ
- lk - Go用のシンプルなライセンスライブラリ
- llvm - 純GoでLLVM IRと相互作用するライブラリ
- metrics - メトリクスインストルメンテーションおよびPrometheus公開用のライブラリ
- morse - モルス符号に変換・変換するライブラリ
- numa - NUMAはGoで書かれたユーティリティライブラリであり、NUMA対応コードの記述を支援します
- pdfgen - JSONリクエストからPDFを生成するHTTPサービス
- persian - Goにおけるペルシャ語用のユーティリティ
- purego - GoからC関数を呼び出すためのCgoなしライブラリ
- sandid - 地球にある砂の1粒にはそれぞれ独自のIDがあります
- shellwords - UNIX Bourneシェルの語解析ルールに基づいて文字列を操作するGoライブラリ
- shortid - 分散型で極めて短く、一意かつ非順序、URL対応のIDを生成するライブラリ
- shoutrrr - スラック、マター most、ゴティフィ、SMTPなど、さまざまなメッセージサービスへのアクセスを容易に提供する通知ライブラリ
- sitemap-format - シンプルなサイトマップジェネレータ、少しの文法的な甘さを備えている。
- stateless - 状態マシンを作成するためのフレームワークライブラリ。
- stats - Goのメモリ統計とシステム統計(メモリ、スワップ、CPUなど)を監視し、UDPでどこでもログなどに送信。
- turtle - Go用のエモジ。
- url-shortener - MySQL対応の現代的、強力で頑健なURL短縮マイクロサービス。
- VarHandler - ボイラープレートのHTTP入出力処理を生成。
- varint - 標準ライブラリに含まれるものよりも、長さが変化しやすい整数エンコーダ/デコーダ。
- xdg - FreeDesktop.org (xdg)仕様をGoで実装。
- xkg - Xキーボードキャプチャ。
- xz - 未分類に関するGoライブラリ、ツール、ソフトウェア、または資料です。 ⬆ back to top関連
自然言語処理
自然言語処理に関するGoライブラリ、ツール、または資料です。
言語判定
- detectlanguage - 言語検出API Goクライアント。バッチリクエスト、短いフレーズまたは単語レベルの言語検出をサポート。
- getlang - 高速な自然言語検出パッケージ。
- guesslanguage - Unicodeテキストの自然言語を特定するための関数。
- lingua-go - 長文および短文に適した正確な自然言語検出ライブラリ。混合言語テキストにおける複数言語の検出をサポート。
- whatlanggo - Go用の自然言語検出パッケージ。84言語と24の書字システム(例:ラテン文字、西ロシア文字など)をサポート。
形態素解析
- go-propisyu - 数字をロシア語の語に変換し、正しい性別と名詞の変格を適用。
- go-stem - Porterのストリーミングアルゴリズムの実装。
- go2vec - word2vec埋め込みのリーダーおよびユーティリティ関数。
- golibstemmer - snowball libstemmerライブラリ(Porter 2を含む)のGoバインディング。
- gosentiwordnet - Sentiwordnet辞書を使用した感情分析(Go)。
- govader - Go による VADER Sentiment Analysis の実装.
- govader-backend - マイクロサービスによる GoVader の実装.
- kagome - 純Goで書かれた日本語形態素解析器。
- libtextcat - libtextcat C ライブラリ向けの Cgo バインディング。バージョン 2.2 との互換性が保証されている。
- nlp - LSA(潜在意味分析)をサポートする Go の自然言語処理ライブラリ。
- paicehusk - パイス/ハスクのストリーミングアルゴリズムを Golang で実装したもの。
- porter - マーティン・ポーターの C 実装のポーター・ストリーミングアルゴリズムの、比較的シンプルな Go 版。
- porter2 - 非常に高速なポーター2ストリーミング。
- RAKE.go - Rapid Automatic Keyword Extraction Algorithm(RAKE)の Go 版。
- snowball - Go 用の Snowball ステムマーカー (cgo ワッパー)。単語のステム抽出機能を提供 Snowball native.
- spaGO - Go で構成された、自律型の機械学習および自然言語処理ライブラリ。
- spelling-corrector - スペイン語向けのスペル訂正器または、自作可能。
スラッグ生成
- go-slugify - 複数言語をサポートした、見やすいスラグを作成。
- slug - URLに適したスラグを複数言語で生成。
- Slugify - Go スラグ化アプリケーションで文字列を処理。
トークナイザー
- gojieba - 中国語の単語分割アルゴリズムjiebaのGo実装。
- gotokenizer - Golang 用の辞書およびビッグラム言語モデルに基づくトークナイザ。 (現在は中国語セグメンテーションのみ対応)。
- gse - Go による効率的なテキストセグメンテーション。英語、中国語、日本語、その他をサポート。
- MMSEGO - 中国語の単語分割アルゴリズムMMSEGのGo実装。
- segment - Unicode テキストセグメンテーションを実行するための Go ライブラリ(Unicode Standard Annex #29 に記載されている内容に基づく)
- sentences - 文トークナイザ:テキストを文のリストに変換。
- shamoji - shamoji は Go で書かれた単語フィルタリングパッケージ。
- stemmer - Go プログラミング言語向けのストリーミングパッケージ。英語とドイツ語のストリーミングを含む。
- textcat - n-gram に基づくテキスト分類用の Go パッケージ。UTF-8 および原始テキドをサポート。
翻訳
- ctxi18n - コンテキストに配慮した i18n で、簡潔な API、複数形、埋め込み、および
fs.FSのサポート。YAML ローカル定義は Rails i18n に基づいています. - go-i18n - ローカライズされたテキストを扱うためのパッケージおよびツール。
- go-mystem - Yandex.Mystem への CGo バインディング(ロシア語の文法解析器)。
- go-pinyin - CN ハンジをハニューピンインに変換。
- go-words - Golangプロジェクト用の単語テーブルとテキストリソースライブラリ
- gotext - GNU gettext用のGo向けユーティリティ
- iuliia-go - ロシア語→ラテン語のすべての可能な方法での変換
- spreak - gettextの概念に基づいた、Go向けの柔軟な翻訳および人間化ライブラリ
- t - Go 用の別の i18n パッケージ。GNU gettext スタイルを採用し、.po/.mo ファイルをサポート:
t.T (gettext),t.N (ngettext), など。また、cmd ツール xtemplate を含み、text/html テンプレートからメッセージを pot ファイルに抽出できます.
翻字
- enca - libenca 用の最小限の cgo バインディング。文字エンコーディングを検出します.
- go-unidecode - UnicodeテキストのASCII変換
- gounidecode - Go向けのUnicode変換器(unidecodeとも呼ばれる)
- transliterator - 言語ごとの変換ルールをサポートする一方向の文字変換を提供
ネットワーク
ネットワークに関するGoライブラリ、ツール、または資料です。
- arp - パッケージarpはRFC 826に記載されたARPプロトコルを実装
- bart - パッケージbartは非常に高速なIPからCIDRへの検索およびその他の機能を提供するバランスルーティングテーブル(BART)を提供
- buffstreams - TCPを介したプロトブッファデータのストリーミングを簡単に行う
- canopus - CoAPクライアント/サーバー実装(RFC T7252)
- cdns - ターミナルから簡単にDNSサーバーを変更
- chicha-ip-proxy - 自動起動、IPベースのアクセス制御、OSレベルのネットワークスタックチューニングを備えたゼロ設定TCP/UDPポートプロキシ
- cidranger - Go向けの高速IPからCIDRへの検索
- cloudflared - Cloudflare Tunnelクライアント(以前はArgo Tunnel)
- dhcp6 - パッケージdhcp6はRFC 3315に記載されたDHCPv6サーバーを実装
- dns - DNS操作に使うGoライブラリ
- dnsmonster - パッシブDNSキャプチャ/モニタリングフレームワーク
- easytcp - Go(Golang)で構築された軽量TCPフレームワーク(メッセージルーターを用いる).EasyTCPはTCPサーバーの構築を簡単かつ迅速に支援
- ether - エスケープフレーム送受信用のマルチプラットフォームGoパッケージ
- ethernet - エーザンパッケージは、IEEE 802.3 Ethernet IIフレームおよびIEEE 802.1Q VLANタグのシリアライズとデシリアライズを実装しています。
- event - Golangで書かれたシンプルなI/Oイベント通知ライブラリ。
- fasthttp - パッケージfasthttpは、Go向けの高速HTTP実装であり、net/httpに比べて最大10倍速いです。
- fibersse - Fiber v3向けの生産環境用サーバー送信イベント(SSE)で、イベントの合併、優先度ルート、トピックワイルドカード、適応型スロットリング、および内蔵認証を提供します。
- fortio - 負荷テストライブラリおよびコマンドラインツール、高度なエコーサーバーおよびWebUI。クエリごとの秒間負荷を指定し、遅延ヒストグラムなどの有用な統計を記録し、それらを可視化できます。TCP、HTTP、gRPC。
- ftp - Package ftp は RFC 959 に記載された FTP クライアントを実装しています.
- ftpserverlib - 完全なFTPサーバーライブラリ。
- fullproxy - SOCKS5、HTTP、原始ポート、リバースプロキシプロトコルをサポートする、完全に機能するスクリプト可能でデーモン設定可能なプロキシおよびピボットツールキット。
- fwdctl - LinuxサーバーのIPTablesフォワードを管理するためのシンプルで直感的なCLI。
- gaio - Golangにおける高パフォーマンスの非同期I/Oネットワーク実装(プロアクモード)。
- gev - gevは、Reactorモードに基づく軽量かつ高速な非ブロッキングTCPネットワークライブラリ。
- gldap - gldapはLDAPサーバーの実装を提供し、そのLDAP操作にハンドラーを提供します。
- gmqtt - Gmqttは、MQTTプロトコルV3.1.1を完全に実装した柔軟かつ高パフォーマンスなMQTTブローカーライブラリ。
- gnet -
gnetは、純粋Goで書かれた高パフォーマンス、軽量、非ブロッキング、イベント駆動型ネットワークフレームワーク。 - gnet -
gnetは、特にゲームサーバー向けの高パフォーマンスネットワークフレームワーク。 - gNxI - gNMIおよびgNOIプロトコルを使用したネットワーク管理ツールのコレクション。
- go-getter - URLを用いてさまざまなソースからファイルまたはディレクトリをダウンロードするためのGoライブラリ。
- go-multiproxy - プロキシプールを介してHTTPリクエストを送るためのライブラリ。障害耐性、負荷分散、自動リトライ、クッキー管理などを提供し、http.Get/Postの置き換えまたはhttp.Client RoundTripperのドロップインで利用可能。
- go-pcaplite - HTTPS SNI抽出を含む軽量なライブパケットキャプチャライブラリ。
- go-powerdns - GoでのPowerDNS APIバインディング。
- go-sse - HTMLサーバー送信イベントのGoクライアントおよびサーバー実装。
- go-stun - STUNクライアント(RFC 3489およびRFC 5389)のGo実装
- gobgp - Goプログラミング言語で実装されたBGP
- gopacket - libpcapとのバインディングを用いたパケット処理用Goライブラリ
- gopcap - libpcap向けのGoラッパー
- GoProxy - GoでカスタマイズされたHTTP/HTTPSプロキシサーバーを作成するためのライブラリ
- goshark - パッケージgosharkはtsharkを用いてIPパケットをデコードし、パケット分析用データ構造を作成
- gosnmp - SNMP操作を行うための本格的なGoライブラリ
- gotcp - TCPアプリケーションを迅速に書くためのGoパッケージ
- grab - ファイルダウンロード管理を行うためのGoパッケージ
- graval - 実験的なFTPサーバーフレームワーク
- gws - 高パフォーマンスのWebSocketサーバーおよびクライアント(AsyncIO対応)
- HTTPLab - HTTPLabsはHTTPリクエストを確認し、レスポンスを生成できるようにするツール
- httpproxy - HTTPプロキシハンドラおよびダイアル機能
- iplib - IP アドレス(net.IP, net.IPNet)を扱うためのライブラリ。Python の ipaddress および Ruby の ipaddr をインスピレーションとしています
- jazigo - Jazigoは複数のネットワークデバイスの設定情報を取得するためのGoで書かれたツール
- kcp-go - KCP - 高速かつ信頼性のあるARQプロトコル
- lhttp - 強力なWebSocketフレームワークで、IMサーバーの構築を容易に
- linkio - リーダー/ライターインターフェース向けのネットワークリンク速度シミュレーション
- llb - 非常にシンプルで高速なプロキシサーバーのバックエンド。事前定義されたドメインへの迅速なリダイレクトに有効で、メモリ割り当てなしで高速応答が可能
- macwifi - macOS 13以降のWi-FiスキャンおよびKeychainパスワードの取得
- mdns - GolangによるシンプルなmDNS(マルチキャストDNS)クライアント/サーバーライブラリ
- mqttPaho - Paho Go Clientは、TCP、TLSまたはWebSocketsを介してMQTTブローカーに接続するために使用できるMQTTクライアントライブラリを提供しています
- natiu-mqtt - シンプルで、割り当てをしない、低レベルのMQTT実装であり、エムベディッドシステムに最適です
- nbio - 純粋なGoによる100万件以上の接続解決策。TLS/HTTP1.x/WebSocketをサポートし、net/httpと基本的には互換性があり、高性能かつ低メモリコスト、非ブロッキング、イベント駆動、使いやすい
- net - このリポジトリには、補助的なGoネットワークライブラリが含まれています
- netchan - Golang向けのネットワークチャネル(netchan):安全でクラスタ対応、ネストチャネルと任意のデータ型をサポート。ロブ・パイクの影響を受けたもの
- nethawk - JSON出力モードを備えたリアルタイムネットワークトラフィックのキャプチャ、解析、攻撃検知用のターミナルUI
- netpoll - ByteDanceが開発した、RPCシナリオに特化した、高性能かつ非ブロッキングI/Oネットワークフレームワーク
- NFF-Go - クラウドおよび裸マシン(旧YANFF)向けのパフォーマンスの高いネットワーク機能の迅速開発を支援するフレームワーク
- nodepass - ネットワーク制限を克服するための、高速かつ信頼性の高いTCP/UDPトンネリングソリューション。事前に確立されたTCP/QUIC/WebSocketまたはHTTP/2接続を使用します
- peerdiscovery - UDPマルチキャストを用いた純粋Goによるプラットフォーム間のローカルペア発見ライブラリ
- portproxy - CORSをサポートするAPIを追加するシンプルなTCPプロキシ
- proxq - Redisに各リクエストをキューにし、応答をポールするためのジョブIDを返す、非同期逆プロキシ。パスプレフィックスルーティング、リトライ、キャッシュをサポート
- psql-wire - PostgreSQLサーバーのワイヤープロトコル。自作サーバーを作成し、接続を開始できます
- publicip - パッケージpublicipは、あなたのパブリックIPv4アドレス(インターネットエグリス)を返します
- quic-go - 純粋GoによるQUICプロトコルの実装
- roamr - 周囲の保存済みWiFiネットワークをスコアリングし、どのネットワークを使うべきか、そしてその理由を教えてくれるCLI
- sdns - プライバシーを維持するための、高性能かつ再帰的なDNSリゾルバーサーバー。DNSSECをサポートしています
- sftp - Package sftp は https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt に記載された SSH ファイル転送プロトコルを実装しています.
- ssh - SSHサーバーの構築に必要な、より高レベルのAPI(crypto/sshをラップ)
- sslb - 非常にシンプルなロードバランサ。パフォーマンスを実現するための小さなプロジェクトです
- stun - RFC 5389のSTUNプロトコルのGo実装
- tcpack - tcpackは、GoプログラムでバイトストリームをパッキングおよびアンパッキングするためにTCPをベースとしたアプリケーションプロトコルである
- tspool - TCPライブラリは、パフォーマンスを向上させ、サーバーを保護するためにワーカーポールを用いる
- tun2socks - tun2socks の純 Go 実装。gVisor TCP/IP スタックをベースにしています.
- utp - Go uTPマイクロトランスポートプロトコルの実装
- vssh - SSHプロトコルを用いたネットワークおよびサーバー自動化用のGoライブラリ
- water - シンプルなTUN/TAPライブラリ
- webrtc - WebRTC APIの純Go実装
- winrm - Go WinRMクライアントでWindowsマシン上のコマンドをリモートで実行
- xtcp - 同時全双方向通信、スムーズなシャットダウン、カスタムプロトコルを備えたTCPサーバーフレームワーク
HTTPクライアント
HTTPクライアントに関するGoライブラリ、ツール、または資料です。
- axios4go - AxiosにインスパイアされたGo HTTPクライアントライブラリで、HTTPリクエストをシンプルかつ直感的に実行可能
- azuretls-client - TLS/JA3とHTTP/2のフィンガープリントを偽装できる、100% Go製の使いやすいHTTPクライアント。
- fast-shot - Goの最も高速かつシンプルなHTTPクライアントを用いて、APIターゲットに迅速かつ正確にアクセス
- gentleman - フル機能のプラグイン駆動型HTTPクライアントライブラリ
- go-cleanhttp - 簡単に標準ライブラリのHTTPクライアントを取得できる。他のクライアントと状態を共有しない
- go-http-client - HTTPリクエストをシンプルかつ容易に実行できる
- go-ipmux - 複数のソースIPに基づいたHTTPリクエストのマルチプレクシングを実現するライブラリ
- go-otelroundtripper - HTTPリクエストにOpenTelemetryメトリクスを発行するGo http.RoundTripper
- go-req - 宣言型Go HTTPクライアント
- go-retryablehttp - Goにおけるリトライ可能なHTTPクライアント
- go-zoox/fetch - Web Fetch APIにインスパイアされた強力で軽量かつ使いやすいHTTPクライアント
- Grequest - シンプルで軽量なGoパッケージ。強力なnet/httpをベースにしたHTTPリクエスト処理
- grequests - Goの「Requests」ライブラリに類するクローン
- hedge - Googleの「The Tail at Scale」論文に基づく、設定不要の適応型ヘッジされたリクエスト。p99の遅延を削減
- heimdall - リトライとハイストリックス機能を備えた強化されたHTTPクライアント
- httpretry - デフォルトのGo HTTPクライアントにリトライ機能を追加
- impersonate-http - ブラウザTLS(JA3/JA4)およびHTTP/2(Akamai)のフィンガープリントをbyte精度で保持するdrop-in net/http.Client
- pester - リトライ、バックオフ、並列処理をサポートするGo HTTPクライアント呼び出し
- req - 少ないコードで高い効率を実現する、シンプルなGo HTTPクライアント。
- request - golang用のHTTPクライアント。axiosやrequestsの経験がある方は大好きになるでしょう。3rdパッケージなし
- requests - Gophers向けのHTTPおよびRESTクライアント。context.Contextを使用し、内部のnet/http.Clientを隠さず、標準GoAPIと互換性を持つ。また、テストツールも含む
- resty - Ruby rest-clientをインスピレーションに受けて作られた、シンプルなGo用HTTPおよびRESTクライアント
- rq - Go標準ライブラリのHTTPクライアントにより良いインターフェースを提供
- sling - SlingはGo用のHTTPクライアントライブラリで、APIリクエストの作成と送信を行う
- surf - HTTP/1.1、HTTP/2、HTTP/3(QUIC)、SOCKS5プロキシサポート、ブラウザレベルのTLSフィンガープリントを備えた高度なHTTPクライアント
- tls-client - net/http.Clientに似たHTTPクライアントで、特定のクライアントTLSフィンガープリントを選択できるオプションを提供
OpenGL
OpenGLに関するGoライブラリ、ツール、または資料です。
- gl - OpenGL用のGoバインディング(glowにより生成)
- glfw - GLFW 3用のGoバインディング
- go-glmatrix - glMatrix ライブラリの Go ポートです.
- goxjs/gl - GoによるクロスプラットフォームOpenGLバインディング(OS X、Linux、Windows、ブラウザ、iOS、Android)
- goxjs/glfw - GoによるクロスプラットフォームGLFWライブラリでOpenGLコンテキストを作成し、イベントを受信
- mathgl - 3D数学に特化した純Go数学パッケージ(GLMをインスピレーションに)
ORM
ORMに関するGoライブラリ、ツール、または資料です。
- bob - Go用のSQLクエリビルダーおよびORM/ファクトリジェネレーター。SQLBoilerの継承者
- bun - SQL-first Golang ORM。go-pgの継承者。
- cacheme - スキーマベース、型付きのRedisキャッシュ/メモ化フレームワーク(Go用)。
- CQL - GORMに構築されたもので、自動生成コードに基づくコンパイル時検証クエリを追加。
- ent - Go用のエンティティフレームワーク。シンプルでありながら強力なORMでデータのモデル化とクエリを実現。
- go-dbw - データベース操作をラップしたシンプルなパッケージ。
- go-firestorm - Google/Firebase Cloud Firestore用のシンプルなORM。
- go-sql - MySQL用の簡単なORM。
- go-sqlbuilder - 柔軟かつ強力なSQL文字列ビルダー+ゼロ設定のORM。
- go-store - シンプルで高速なRedisベースのキー値ストアライブラリ(Go用)。
- golobby/orm - シンプル、高速、型安全、ジェネリックなORMで開発者の満足を実現。
- GORM - Golang用の素晴らしいORMライブラリ。開発者に親切であることを目指す。
- gormt - MySQLデータベースをGoのGORM構造体に変換。
- gorp - Go用の関係データ保存、ORM風ライブラリ。
- grimoire - GrimoireはGo用のデータベースアクセス層およびバリデーションです。(サポート:MySQL、PostgreSQLおよびSQLite3)。
- lore - シンプルで軽量な擬似ORM/擬似構造マッピング環境(Go用)。
- marlow - プロジェクト構造体から生成されたORMでコンパイル時安全性を確保。
- pop/soda - MySQL、PostgreSQL、SQLite用のデータベースマイグレーション、作成、ORMなど。
- Prisma - Prisma Client Go、Go用の型安全データベースアクセス。
- reform - 非空インターフェースとコード生成に基づくGo用のより良いORM。
- rel - Golang用の現代的なデータベースアクセス層 — テスト可能、拡張可能で、クリーンかつ洗練されたAPIを構築。
- SQLBoiler - ORMジェネレーター。あなたのデータベーススキーマに最適化された、機能豊かで高速なORMを生成します。
- upper.io/db - アダプタを用いて、異なるデータソースにインタラクションを行うためのシングルインターフェース。成熟したデータベースドライバーをラップするアダプタを利用します。
- XORM - Go向けのシンプルかつ強力なORM。 (サポート:MySQL、MyMysql、PostgreSQL、Tidb、SQLite3、MsSqlおよびOracle)。
- Zoom - Redisに基づく高速データストアとクエリエンジン。
パッケージ管理
パッケージ管理に関するGoライブラリ、ツール、または資料です。
- go modules - モジュールはソースコードの交換およびバージョン管理の単位です。goコマンドはモジュールの作業に直接対応しており、他のモジュールの依存関係を記録および解決できます。
パッケージ管理に関するGoライブラリ、ツール、または資料です。
- gup - go installでインストールされたバイナリを更新します。
- modup - Goの依存関係更新用のターミナルUI。古くなったモジュールの検出と選別アップグレードをサポート。
- syft - コンテナイメージおよびファイルシステムからソフトウェアバイオマテリアル(SBOM)を生成するCLIツールおよびGoライブラリ。
性能
- ebpf-go - eBPFプログラムの読み込み、コンパイル、デバッグに必要なユーティリティを提供します。
- go-instrument - すべてのメソッドおよび関数にスパンを自動的に追加します。
- go-perfstat - Go向けの軽量なパフォーマンス統計と実行時間の集計。
- jaeger - 分散トレースシステム。
- mm-go - Go向けの汎用的手動メモリ管理。
- otelinji - OpenTelemetryによる関数へのスパン追加用の自動インストールツール。
- pixie - eBPFを用いたGoアプリケーションへのインストラクショントレースなし。
- profile - Go向けのシンプルなプロファイリングサポートパッケージ。
- statsviz - Goアプリケーションの実行時統計をリアルタイムで可視化。
- tracer - シンプルで軽量なトレース。
クエリ言語
- api-fu - 包括的なGraphQL実装。
- dasel - コマンドラインからセレクタを使ってデータ構造をクエリおよび更新。jq/yqに類似ですが、JSON、YAML、TOMLおよびXMLをサポートし、実行時依存関係なし。
- gojsonq - JSONデータに対するクエリを行うためのシンプルなGoパッケージ
- goven - 任意のデータベーススキーマに即座に導入可能なクエリ言語
- gqlgen - go generateベースのGraphQLサーバーライブラリ
- grapher - Goのジェネリクスを活用したGraphQLフィールドビルダーに加えて、追加のユーティリティと機能を提供
- graphql - 使いやすさに焦点を当てたGraphQLサーバー
- graphql-go - Go向けのGraphQL実装
- gws - Apollosの”WebSocket上のGraphQL”クライアントおよびサーバー実装
- jsonpath - JSONPath文法に基づいてJSONデータの一部を取得するためのクエリライブラリ
- jsonql - GolangにおけるJSONクエリ表現ライブラリ
- jsonslice - JSONPathクエリに高度なフィルタを適用
- mql - モデルクエリ言語(mql)は、データベースモデルに対してクエリを行うための言語
- play - grep、sed、awk、jqおよびyqなどの好きなプログラムを実験できるTUIプレイヤー
- rql - REST API向けのリソースクエリ言語
- rqp - REST API 用のクエリパーサー。フィルタリング、バリデーション、どちらも
AND,ORの操作がクエリ内で直接サポートされています. - straf - Go構造体をGraphQLオブジェクトに簡単に変換
リフレクション
- copy - 異なる型の構造体を高速にコピーするパッケージ
- Deepcopier - Goにおけるシンプルな構造体コピー
- go-deepcopy - 高速な深層コピーライブラリ
- goenum - ジェネリクスとリフレクションに基づく共通の列挙構造体で、列挙を迅速に定義し、便利なデフォルトメソッドを用いることができる
- gotype - Goのソースコードをパースする、reflectパッケージのように使用できる
- gpath - Goのリフレクションで構造体フィールドにアクセスするためのライブラリ
- objwalker - リフレクションを使ってGoオブジェクトを順に走査する
- reflectpro - Goにおける呼び出し元、コピー、取得、設定メソッドの処理
- reflectutils - リフレクションを使ったヘルパー関数:構造体タグの解析;再帰的な走査;文字列から値を埋め込む
リソース埋め込み
- debme - 既存の サブディレクトリから を作成します.
embed.FSembed.FS - embed - パッケージembedは、実行中のGoプログラムに埋め込まれたファイルにアクセスできるようにする
- rebed - Go 1.16 の
embed.FSタイプに基づき、フォルダ構造とファイルを再構築します - vfsgen - 指定された仮想ファイルシステムを静的に実装するvfsdata.goファイルを生成する
科学計算・データ分析
科学計算・データ分析に関するGoライブラリ、ツール、または資料です。
- bradleyterry - ペア比較に用いるブラッドリー・テリーモデルを提供する
- calendarheatmap - GitHubの貢献活動をインスピレーションとして作成されたシンプルなカレンダー熱マップ
- chart - Goで使用できるシンプルなチャートプロットライブラリ。複数のグラフタイプをサポートする
- dataframe-go - 機械学習および統計に用いるデータフレーム(pandasに類似)
- decimal - パッケージdecimalは、任意精度の小数浮動小数点演算を実装する
- entitydebs - 非説明文書のテキスト中に存在するエンティティをプログラム的に分析するための社会科学ツール。内蔵の依存解析器を備える
- evaler - シンプルな浮動小数点演算式評価器
- ewma - 指数加重移動平均
- geom - Go向けの2次元幾何学
- go-dsp - Goでのデジタル信号処理
- go-estimate - Goで実装された状態推定およびフィルタリングアルゴリズム
- go-gt - 「Go」言語で書かれたグラフ理論アルゴリズン
- go-hep - 高エネルギー物理学の分析を容易に実行するためのライブラリとツールのセット
- godesim - イベントベースシミュレーションに用いる拡張された/多変量ODEソルバーフレームワーク(シンプルなAPI)
- goent - エントロピー測定のGo実装
- gograph - Goのジェネリックグラフライブラリで、数学的なグラフ理論およびアルゴリズムを提供する。
- gonum - GonumはGoプログラミング言語向けの数値ライブラリのセットであり、行列、統計、最適化などに含まれる。
- gonum/plot - gonum/plotはGoでプロットを作成および描画するためのAPIを提供する。
- goraph - 純Goによるグラフ理論ライブラリ(データ構造、アルゴリズム可視化)。
- gosl - Goの科学計算ライブラリで、線形代数、FFT、幾何学、NURBS、数値解析、確率、最適化、微分方程式などがある。
- GoStats - GoStatsは機械学習分野で主に使用されるオープンソースGo言語ライブラリで、統計測定関数の大部分をカバーしている。
- graph - 基本的なグラフアルゴリズムのライブラリ。
- hdf5 - 純GoによるHDF5ファイルフォーマットの実装で、科学データの保存と交換を可能にする。
- insyra - 統計、可視化、Parquetサポート、Python統合を備えたデータ分析ライブラリ。
- jsonl-graph - グラフvizをサポートしたJSONLグラフを操作するツール。
- matlab - CGOを使わずにMATLAB .matファイル(v5-v7.3)を読み書きするための純Goライブラリ。
- MatProInterface.go - MatProInterface.goは、Goで数学プログラム(例:凸最適化問題)を定義するためのオープンソースパッケージ。
- matrix - Go向けのシンプルでジェネリック、依存関係ゼロの行列数学パッケージで、算術、分解、線形システム解決をサポート。
- ode - 通常微分方程式(ODE)ソルバーで、拡張状態とチャンネルベースの停止条件をサポート。
- orb - 2D幾何型で、クリッピング、GeoJSONおよびMapbox Vector Tileをサポート。
- pagerank - Goで実装された重み付きPageRankアルゴリズム。
- piecewiselinear - 小さな線形補間ライブラリ。
- PiHex - 「Bailey-Borwe-Plouffe」アルゴリズムによる十六進数のπの実装。
- Poly - Goパッケージで生物工学を実現するもの。
- rootfinding - 二次関数の根を求めるための根探索アルゴリズムライブラリ。
- simd - Goのスライスに対して、マルチアーキテクチャアセンブリによるベクトルおよびSIMD操作を提供する
- sparse - Goの稀疏行列形式で線形代数をサポートし、科学計算および機械学習アプリケーションに適合する。gonum行列ライブラリと互換性を持つ
- stats - Golang標準ライブラリに含まれない一般的な関数を提供する統計パッケージ
- streamtools - データストリームを扱うための汎用的なグラフィカルツール
- taxonkit - 実用的で効率的なNCBI分類ツールキット。系統の照合、フォーマット変換、フィルタリング、カスタムtaxdumpファイルの作成をサポート
- TextRank - Golangで実装されたTextRank(拡張機能:要約、重み付け、フレーズ抽出)およびマルチスレッド(goroutine)対応
- topk - HeavyKeeperアルゴリズムに基づくスライディングウィンドウおよび定常トップ-Kスケッチ
- triangolatte - 2D三角化ライブラリ。線や多角形(点に基づく)をGPUの言語に変換できる
セキュリティ
セキュリティに関するGoライブラリ、ツール、または資料です。
- acmetool - ACME(Let’s Encrypt)クライアントツールで自動更新をサポート
- acme-proxy - ポート80を開けずにインターネットにアクセスする場合でも、ACME http-01チャレンジを解決し、外部証明機関から証明書を取得
- acopw-go - Go用の小型かつ暗号的に安全なパスワード生成パッケージ
- acra - ネットワーク暗号プロキシにより、データ漏洩を防ぐデータベースベースアプリケーションの保護:強力な選択暗号、SQLインジェクション防止、インシデント検知システム
- aes-ctr-drbg - NIST SP 800-90Aで指定されたAESカウンターモード(AES-CTR-DRBG)に基づく決定論的ランダムビット生成器
- age - シンプルで現代的かつ安全な暗号ツール(およびGoライブラリ)で、小さな明示的キー、設定オプションなし、UNIXスタイルの合成を実現
- argon2-hashing - Goのargon2パッケージを軽量にラップしたツールで、Go標準ライブラリのBcryptおよびsimple-scryptパッケージと類似した動作を実現
- autocert - Let’s Encrypt証明書を自動生成し、TLSサーバーを開始
- BadActor - メモリ内に存在し、fail2banの精神に基づいたアプリケーション駆動型のジャイル
- beelzebub - AIを活用した低コードハーネスフレームワーク、システム仮想化を活用
- booster - 高速なinitramfs生成ツールで、フルディスク暗号化をサポート
- Cameradar - 監視カメラからのRTSPストリームをリモートでハッキングするツールおよびライブラリ
- canery - 極小で状態を持たない認可エンジンで、評価モデルをプラグインとして利用可能。
- certificates - TLS証明書を生成するための意見を反映したツール。
- CertMagic - 成熟し、頑健で強力なACMEクライアント統合により、完全に管理されたTLS証明書の発行と更新を可能に。
- Coraza - 企業向け、ModSecurityおよびOWASP CRSと互換性のあるWAFライブラリ。
- Crenox - Aho-Corasickを用いたゼロ依存のプリコミットシークレットスキャナーで、高性能な認証情報の漏洩検出を実現。
- deidentify - テキストおよび構造化データから個人識別情報を取り除く、決定論的かつフォーマットを保持する処理。
- dongle - シンプルで、意味的にも開発者に親しみやすいGoパッケージ。暗号化・デコードおよび暗号化・復号を実現。
- dotlock - 暗号化された.envのフォールド管理ツール。複数の環境とプロファイルでシークレットを管理するためのインタラクティブTUIを備えている。
- encid - 暗号化された整数IDのエンコードとデコード。
- entpassgen - 拡張されたコマンドライン引数を備えたエントロピーパスワードジェネレーター。安全に数字、パスワード、および暗号語を含む不規則な辞書語と記号・数字を混合したパスワードを生成。
- firewalld-rest - Linuxサーバー上のfirewalldルールを動的に更新するRESTアプリケーション。
- fort - macOSのセキュリティ設定を16項目で検証し、スコアを報告し、安全に修正可能な問題を自動で解決。単一バイナリで、Homebrewでインストール可能。
- go-generate-password - CLIまたはライブラリとして利用可能なパスワードジェネレーター。
- go-htpasswd - Go向けのApache htpasswdパーサー。
- go-password-validator - 原始的な暗号エントロピー値に基づくパスワードバリデーション。
- go-peer - 安全で匿名の分散システムを構築するためのソフトウェアライブラリ。
- go-yara - Go バインディング for YARA、“マルウェア研究者(そして誰でも)にとってのパターンマッチングのスイス・ケンズ”です.
- goArgonPass - Argon2パスワードハッシュと検証。既存のPythonおよびPHP実装と互換性を持つように設計。
- goSecretBoxPassword - パスワ及暗号化を安全に実行するための、おそらく過剰に慎重なパッケージ。
- gost-crypto - Goライブラリ。ロシアのGOST暗号標準(デジタル署名、Streebogハッシュ、Kuznechik暗号、MGM AEAD)をOpenSSL gost-engineでサポート。
- gspy - ライブGoプロセスのgoroutineからsyscallへのフォレインインスペクタ。
- Interpol - フラグベースのデータ生成ツール(フッジングおよびパーセンテーションテスト用)
- leakhound - センシティブな構造体フィールドの誤ったログ記録を静的解析で検出し、ログによるデータ漏洩を防止するツール
- lego - 純GoのACMEクライアントライブラリおよびCLIツール(Let’s Encryptとの使用に適用)
- luks.go - 純GolangによるLUKSパーティション管理ライブラリ
- mcprobe - MCPサーバー向けセキュリティスキャナー(プロンプト注入検出、ツールシャドウ、SARIF出力に対応)
- memguard - メモリ上でのセンシティブな値を扱うための純Goライブラリ
- multikey - シャミールの秘密共有アルゴリズムに基づくn-out-of-N鍵暗号化/復号フレームワーク
- nacl - NaCLのAPIセットのGo実装
- optimus-go - クヌースのアルゴリズンを用いたIDハッシュとオブフスケーション
- passlib - 将来対応可能なパスワードハッシュライブラリ
- passwap - 異なるパスワードハッシュアルゴリズム間の統一実装を提供
- pii-shield - Kubernetes向けゼロコードログクリーンアップサード(ログからPIIを削除)
- pm - OpenPGP暗号化でデータを保存するUnixスタイルのパスワードマネージャ(Goで実装)
- procscope - eBPFを用いたプロセススコープのランタイムインベスティゲーター(プロセスライフサイクル、ファイル活動、ネットワーク接続をトレース)
- qrand - ANU量子数(AQN)APIのクライアント、量子力学的に安全な乱数データを提供
- Razify - .envファイルの漏洩セレクトや環境変化のスキャン・検証・アудィットを行うCLIツール
- redact - slogベースのログから設定可能なパイプラインでセンシティブ情報を削除
- SafeDep/vet - 悪意あるオープンソースパッケージへの対策
- secret - あなたのシークレットがログやstd*などに漏れることを防止
- secretgenerator - CSPRNGをバックアップした認証情報生成ツール(パスワード、パスフレーズ、シークレット、APIキー、PINに対してバージョン付きJSONスキーマを提供)
- secure - GoにおけるHTTPミドルウェアで、いくつかの迅速なセキュリティ成果を実現する.
- secureio - XChaCha20-poly1305、ECDH および ED25519 を用いた
io.ReadWriteCloserに基づく鍵交換+認証+暗号化のラッパーおよびマルチプレックス - simple-scrypt - スクリプトパッケージで、シンプルで明確なAPIと自動コストカーブが内蔵されている.
- ssh-vault - SSHキーを使って暗号化/復号を行う.
- sslmgr - acme/autocertを高レベルでラップしたことで、SSL証明書の作成が簡単になる.
- teler-waf - teler-wafは、GoのHTTPミドルウェアであり、ウェブ攻撃に対して防御し、Goベースのウェブアプリケーションのセキュリティを向上させるためのteler IDS機能を提供する。非常にカスタマイズ可能で、既存のGoアプリケーションへの統合が容易である.
- themis - 14言語に対応する、高レベルの暗号化ライブラリ。典型的なデータセキュリティタスク(安全なデータ保存、安全なメッセージング、ゼロ知識証明認証)を解決できる。マルチプラットフォームアプリに最適である.
- urusai - Urusai(日本語で「騒がしい」)は、GoによるランダムHTTP/DNSトラフィックノイズ生成器で、ブラウジング時にプライバシーを保護するためにデジタルな煙幕を作成する.
- veil - AIコードアグエントがAPI認証情報を隠すためのローカルHTTPSプロキシ。OSキーチェーン統合、フォーマット認識可能なプレースホルダー、SQLiteアудィットログを提供.
シリアライズ
シリアライズに関するGoライブラリ、ツール、または資料です。
- bambam - GoからCap’n Protoスキーマを生成するツール.
- bel - Goの構造体/インターフェースからTypeScriptインターフェースを生成する。JSON RPCに有用である.
- binstruct - Golangバイナリデコーダーでデータを構造体にマッピングする.
- cbor - 小さな、安全で使いやすいCBOR暗号化・復号化ライブラリ.
- colfer - Colferバイナリフォーマット用のコード生成ツール.
- csvutil - 高性能でGo本質的なCSVレコードの暗号化・復号化ライブラリを、Goの構造体にマッピングする.
- elastic - 実行時におけるスライス、マップ、または他の未知の値を異なる型に変換できる。どんな場合でも可能である.
- fixedwidth - 固定幅のテキストフォーマット(UTF-8対応).
- fwencoder - Go向けの固定幅ファイルパーサー(エンコーディングおよびデコーディングライブラリ).
- go-capnproto - Go向けのCap’n Protoライブラリおよびパーサー.
- go-codec - 高性能で機能豊富、Go本質的なmsgpack、cbor、jsonの暗号化・復号化およびRPCライブラリ。実行時ベースまたはコード生成をサポートする.
- go-csvlib - 高レベルかつ機能豊富なCSVシリアル化/デシリアル化ライブラリ。
- goprotobuf - Goサポート。プロトコルバッファーズのためのライブラリとプロトコルコンパイラプラグインとして提供。
- gotiny - 効率的なGoシリアル化ライブラリ。gotinyはコード生成型シリアル化ライブラリとほぼ同等の速度を実現。
- jsoniter - 高パフォーマンスであり、“encoding/json”と100%互換の即時置き換え。
- mus-go - Go用のMUSフォーマットシリアル化ライブラリ。
- php_session_decoder - PHPセッションフォーマットおよびPHPのSerialize/Unserialize関数との対話を行うGo言語ライブラリ。
- pletter - メッセージブローカー向けプロトメッセージをラップするための標準的な方法。
- proto - Googleプロトコルバッファーズの.protoファイルをパーサーおよびライターとして提供。
- structomap - 静的構造から簡単に動的にマップを生成するためのライブラリ。
- unitpacking - ユニットベクトルを可能な限り少ないバイトでパッキングするためのライブラリ。
サーバーアプリケーション
- algernon - Lua、Markdown、GCSSおよびAmberに対応したHTTP/2ウェブサーバー。
- Caddy - Caddyは、設定と使用が簡単なHTTP/2ウェブサーバーの代替案。
- consul - サービス発見、監視、設定を行うためのツール。
- cortex-tenant - メトリクスラベルに基づき、CortexのテナントIDヘッダーを追加するPrometheusリモート書き込みプロキシ。
- devd - 開発者向けのローカルウェブサーバー。
- discovery - 耐性のある中間層のロードバランシングおよびフェイルオーバーを実現するレジストリ。
- dudeldu - シンプルなSHOUTcastサーバー。
- Easegress - 観測性と拡張性を備えた、クラウドネイティブな高可用性・高性能なトラフィックオーケストレーションシステム。
- Engity’s Bifröst - 高度にカスタマイズ可能なSSHサーバー。ユーザーがローカルまたはコンテナ内でセッションを実行するための認証方法が複数用意されている。
- etcd - 共有設定およびサービス発見用の高可用性キーバリューストア。
- Euterpe - 自前でホストできる音声ストリーミングサーバー。Web UIおよびREST APIが内蔵されている。
- Fider - Fiderは、顧客からのフィードバックを収集・整理するオープンプラットフォームです。
- Flagr - Flagrは、機能フラグとA/Bテストを行うオープンソースサービスです。
- flipt - GoとVue.jsで構成された、自立型の機能フラグソリューション
- flue - ブラウザタブに接続されたターミナルセッションを提供する、自前でホストできるデーモン。タブが閉じてもセッションは継続します。
- go-feature-flag - シンプルで、完全かつ軽量な自前ホスト型機能フラグソリューション。100%オープンソースです。
- go-proxy-cache - Goで構成された、キャッシュ機能付きのシンプルなリバースプロキシ。Redisを使用。
- gondola - YAMLベースのGoリバースプロキシ。
- goshs - ファイルのアップロード/ダウンロード、WebDAV、SFTP、SMB、TLS、認証、共有リンクをサポートするSimpleHTTPServerの代替品。
- Kono - Goで構成された軽量かつ拡張可能なAPIゲートウェイ。並列ファンアウト、柔軟な集約、ゼロ設定のマジック機能を備えています。
- lets-proxy2 - Let’s-Encryptから証明書を発行し、HTTPSを処理するリバースプロキシ。
- minio - minio(オブジェクトストレージサービス)のコミュニティが維持するフォーク。
- Moxy - Moxyはシンプルなモックとプロキシアプリケーションサーバーです。モックエンドポイントを作成できるほか、モックが存在しない場合にリクエストをプロキシできます。
- nginx-prometheus - Nginxのログをパーサーとしてプロメートスにエクスポートするツール。
- nsq - リアルタイムで分散されたメッセージングプラットフォーム。
- OpenRun - Google Cloud RunおよびAWS App Runnerのオープンソース代替品。チーム内でのツールの簡単にデプロイできます。
- pocketbase - PocketBaseは、1ファイルで構成されたリアルタイムバックエンドで、埋め込みデータベース(SQLite)とリアルタイムサブスクリプション、内蔵認証管理などがあります。
- protoxy - JSONリクエストボディをプロトコルバッファに変換するプロキシサーバー。
- psql-streamer - PostgreSQLからKafkaへデータイベントをストリーミングします。
- relay - AIエージェント向けに40以上のツールを備えたMCPサーバー。ファイル操作、ウェブ検索、スクリーンショット、マルチエージェント連携など。単一のGoバイナリです。
- riemann-relay - Riemannイベントをロードバランシングし、またはそれらをCarbonに変換するリレー。
- RoadRunner - 高性能PHPアプリケーションサーバー、ロードバランサ、プロセスマネージャー
- SFTPGo - 完全に機能備え、高度にカスタマイズ可能なSFTPサーバー。FTP/SおよびWebDAVサポートをオプションで提供し、ローカルファイルシステムやS3やGoogle Cloud Storageといったクラウドストレージバックエンドを提供可能。
- Trickster - HTTPリバースプロキシキャッシュおよびタイムシリーズアクセラレータ
- wd-41 - ファイル変更時に自動でリロードを行うウェブ開発サーバー
- whois - ドメイン、IPv4/IPv-6アドレス、CIDR、ASNsに対する自前ホストWHOIS/RDAPクエリサービスおよびMCPサーバー
- Wish - SSHアプリケーションを作成できる!
ストリーム処理
ストリーム処理に関するGoライブラリ、ツール、または資料です。
- go-etl - データソースの抽出、変換、ロード(ETL)に用いる軽量ツールキット
- go-streams - Goのストリーム処理ライブラリ
- goio - Golang向けIO、ストリーム、フィバーの実装。Scalaのcatsおよびfs2ライブラリをインスピレーションとしている。
- gostream - JavaのストリームAPIをインスピレーションにした型安全なストリーム処理ライブラリ
- machine - Goでストリームワーカーを書く・生成するためのライブラリ。内蔵のメトリクスとトレーサビリティを備えている。
- nibbler - マイクロバッチ処理に用いる軽量パッケージ
- ro - 反応型プログラミング:イベント駆動アプリケーション向けの宣言的かつ合成可能なAPI
- signals - Angular Signalsをインスピレーションにした型安全な反応型ステート管理。計算値、効果、依存関係の追跡を含む。
- stream - Goのストリーム、Java 8のストリームに似たもの:Filter/Map/FlatMap/Peek/Sorted/ForEach/Reduce…
- StreamSQL - リアルタイムデータ処理に用いる軽量ストリーミングSQLエンジン
テンプレートエンジン
テンプレートエンジンに関するGoライブラリ、ツール、または資料です。
- bagme - 純GoでTeX品質のタイプセットによるHTML/CSSからPDFへのレンダリング
- ego - Goでテンプレートを書ける軽量テンプレート言語。テンプレートはGoに変換され、コンパイルされる。
- fasttemplate - シンプルで高速なテンプレートエンジン。テンプレートのプレースホルダーを置き換え、text/templateに比べて最大10倍速い。
- gomponents - 純粋なGoで実装されたHTML5コンポーネント。これに似たようなもの:
func(name string) g.Node { return Div(Class("headline"), g.Textf("Hi %v!", name)) }。 - got - HeroおよびFasttemplateをインスピレーションにしたGoコードジェネレーター。インクルードファイル、カスタムタグ定義、注入されたGoコード、言語翻訳などがある。
- goview - Goviewは、Goのhtml/templateに基づいた軽量、ミニマリズム、Go言語にふさわしいテンプレートライブラリで、Goのウェブアプリケーションの構築に用いられる。
- gox - HTMLテンプレートをGo表現として第一クラスに、編集器との連携もスムーズ。
- htmgo - go + htmxでシンプルかつスケーラブルなシステムを構築。
- jet - ジェットテンプレートエンジン。
- liquid - Shopify LiquidテンプレートのGo実装。
- maroto - MarotoによるPDF作成のシンプルな方法。MarotoはBootstrapをインスピレーションとしており、gofpdfを使用。高速かつシンプル。
- pongo2 - Go向けのDjango風テンプレートエンジン。
- quicktemplate - 高速で強力でありながら使いやすいテンプレートエンジン。テンプレートをGoコードに変換し、その後コンパイルする。
- Razor - Golang向けのRazorビューエンジン。
- Soy - Go向けのクロージャーテンプレート(Soyテンプレート)で、official specを採用。
- sprout - Goテンプレートに使える便利なテンプレート関数。
- tbd - プレースホルダーを用いたシンプルなテキストテンプレート作成方法 - 追加のGitリポジトリメタデータを公開。
- templ - 開発者向けツールが豊富なHTMLテンプレート言語。
- templator - Go向けの型安全なHTMLテンプレートレンダリングエンジン。
テスト
テストに関するGoライブラリ、ツール、または資料です。
テストフレームワーク
- apitest - RESTベースのサービスやHTTPハンドラ向けのシンプルかつ拡張可能な振る舞いテストライブラリ。外部HTTP呼び出しのモックとシーケンス図のレンダリングをサポート。
- arch-go - Goプロジェクト向けのアーキテクチャテストツール。
- assay - GoアグエントやMCPサーバーのテストに使用できるフレームワークに依存しない評価ライブラリ。決定論的なチェック、CI対応の終了コード、ゼロコードのYAMLベーステストを提供。
- assert - ネイティブGoテストと併用される基本的なアサーションライブラリ。カスタムアサーションの構成要素を提供。
- baloo - エンドツーエンドHTTPAPIテストを、表現力豊かで多様な形で簡単に実現。
- be - ミニマリズムを採用したジェネリックテストアサーションライブラリ。
- biff - Bifurcationテストフレームワーク、BDDと互換。
- charlatan - テスト用の仮のインターフェース実装を生成するツール。
- commander - Windows、LinuxおよびOSXでのCLIアプリケーションのテスト用ツール
- cupaloy - テストフレームワークに追加するシンプルなスナップショットテストアドオン
- dbcleaner - テスト用のシンプルなデータベース。Rubyの
database_cleanerをインスピレーションとして作成。 - dft - テスト(またはそれ以上の用途)に用いる軽量かつ依存関係のないDockerコンテナ
- dsunit - SQL、NoSQL、構造化ファイルに対するデータストアテスト
- embedded-postgres - Docker内で実行されるPostgresデータベースを、別のGoアプリケーションまたはテストの一部としてローカルに実行
- endly - 宣言型のエンドツーエンド機能テスト
- envite - 開発およびテスト環境の管理フレームワーク
- fixenv - pytestのフィクスチャにインスパイアされたフィクスチャ管理エンジン
- flute - HTTPクライアントテストフレームワーク
- frisby - REST APIテストフレームワーク
- gherkingen - BDD用のテンプレート生成器およびフレームワーク
- ginkgo - Go用のBDDテストフレーム及
- gnomock - Docker内で実行される実際の依存関係(データベース、キャッシュ、さらにはKubernetesまたはAWS)を用いた統合テスト
- go-carpet - ターミナル上でテストカバレッジを確認するツール
- go-cmp - テストにおけるGo値の比較用パッケージ
- go-hit - golangで書かれたHTTP統合テストフレームワークHit
- go-httpbin - クライアントテスト用のさまざまなエンドポイントを備えたHTTPテストおよびデバッグツール
- go-mutesting - CI品質ゲート、カバレッジ認識型MSI、ベースライントラッキング、git-diffフィルタリングを備えたGo用のミューテーションテスト
- go-mysql-test-container - Go用のMySQLテストコンテナでMySQL統合テストを支援
- go-snaps - GolangでのJestのようなスナップショットテスト
- go-test-coverage - 閾値以下にあるファイルのカバレッジを報告するツール
- go-testdeep - 極めて柔軟なGoによる深層比較、Goのテストパッケージを拡張
- go-testing - Goのテスト拡張機能で、強力に孤立した単体・コンポーネント・統合テストをシンプルに設定可能で、gomockおよびgockを拡張した高度なモックサポートを提供
- go-testpredicate - テストの条件式スタイルのアサートライブラリで、詳細な診断出力が可能
- go-vcr - HTTP相互作用を記録・再現することで、高速かつ決定論的かつ正確なテストを実現
- goblin - GoにおけるMochaのようなテストフレームワーク
- goc - GocはGoプログラミング言語向けの包括的なカバレッジテストシステム
- gocheck - gotestに代替するより高度なテストフレームワーク
- GoConvey - Web UIとリアルタイムリロードを備えたBDDスタイルのフレームワーク
- gocrest - Goのアサートに用いる、可合成なHamcrest風マッチャー
- godog - Go向けのCucumber BDDフレームワーク
- gofight - Go言語のルーターフレームワーク向けのAPIハンドラテスト
- gogiven - Go向けのYATSPEC風BDDテストフレームドーム
- gomatch - パターンに対してJSONをテストするためのライブラリ
- gomega - Rspec風のマッチャー/アサートライブラリ
- gospecify - これはGoコードのテストにBDD構文を提供します。rspecなどのライブラリを使用したことがある人なら、この構文は馴染みがあるでしょう
- gosuite - Go1.7のサブテストを活用して、
testingに軽量なテストセットとセットアップ/テアダウン機能を提供。 - got - 楽しいGoテストフレームワーク
- gotest.tools - Goのテストパッケージを補強し、一般的なパターンをサポートするパッケージのコレクション
- Hamcrest - 入力値に適用された場合に、自己説明的な結果を生成する、宣言型マッチャー対象のフレームワーク
- httper - JetBrainsの.httpファイル向けのCLI実行ツールで、スクリプト、アサート、gRPC、負荷テストをサポート
- httpexpect - 簡潔で宣言的であり、HTTPおよびREST APIの端到端テストに使いやすい
- is - Go向けのプロフェッショナルな軽量テストミニフレームワーク
- jsonassert - JSONパラメータが正しくシリアライズされているかを検証するためのパッケージ
- keploy - API呼び出しから自動的にテストケースとデータのモックを生成
- omg.testingtools - テストの際にプライベートフィールドの値を変更するためのシンプルなライブラリ
- restit - RESTful APIの統合テストを書くためにGoで提供されるマイクロフレームワーク
- schema - リクエストおよびレスポンスに使われるJSONスキーマに即した簡単で迅速な表現マッチング
- should - 依存関係がゼロのテストライブラリ、詳細な構造差分、人間が読みやすいエラーメッセージを提供
- stop-and-go - 並列処理用のテストヘルパー
- testcase - 行動駆動開発(BDD)に適した自然なテストフレームワーク
- testcerts - テスト関数内で動的に自己署名証明書と証明書機関を生成
- testcontainers-go - Goパッケージで、自動化された統合/スモークテストに必要なコンテナベースの依存関係を作成・削除を簡単に行える。シンプルで使いやすいAPIにより、開発者はテスト中に実行すべきコンテナをプログラム的に定義し、テスト終了後にそのリソースを削除できる。
- testfixtures - Railsのテストフィクスチャに似たヘルパーで、データベースアプリケーションのテストを実行
- Testify - 標準のgoテストパッケージへのSacred拡張
- Testo - スイート、並列テスト、ホック、パラメータ化を備えたプラグインベースのテストフレームワーク。Pytestにインスパイアされた。
- testsql - テスト前にSQLファイルからテストデータを生成し、テスト終了後に削除する
- testza - 機能豊かなテストフレームドゥームで、色分けされた出力が特徴
- tparse - go testの出力結果を要約するCLIツール。パイプ対応。go testのフラグと互換。
- trial - 多くのバーチャルコードを書かずに、簡単に拡張可能なアサーションを提供
- Tt - シンプルでカラフルなテストツール
- wstest - WebSocketのHTTPハンドラーをユニットテストするためのクライアント
モック
- counterfeiter - 自立したモックオブジェクトを生成するツール
- fabricator - Goにおけるモックおよびフェイクデータの型安全なファクトリ、factory_boyおよびinterface-forgeをインスピレーションとして作成
- genmock - Goのモックシステムでインターフェースメソッドの呼び出しをコードジェネレーターで構築
- go-localstack - AWSのテストにおいてLocalStackを使用するためのツール
- go-sqlmock - データベース相互作用をテストするためのモックSQLドライバー
- go-txdb - テスト目的の主に単一トランザクションベースのデータベースドライバー
- gomock - Goプログラミング言語向けのモックフレームワーク
- gomock - ジェネリクスをサポートする、型安全かつフレームワークに依存しないインターフェースモックを生成するCLIツール
- govcr - Golang用のHTTPモック:オフラインテスト用にHTTP相互作用を記録および再現
- hoverfly - HTTP(S)プロキシ:拡張可能なミドルウェアと使いやすいCLIを備えたREST/SOAP APIの記録およびシミュレーション
- httpmock - 外部リソースからのHTTPレスポンスを簡単にモックできる
- minimock - Goインターフェース向けのモックジェネレータ
- mockery - Goインターフ及を生成するツール
- mockfs - Goのテスト用のモックファイルシステム。エラー挿入と遅延シミュレーションをサポート。
testing/fstest.MapFSに基づいて構築。 - mockhttp - Go http.ResponseWriter向けのモックオブジェクト
- mooncake - 複数の目的に対してモックを生成するためのシンプルな方法
- moq - 任意のインターフェースから構造体を生成するユーティリティ。生成された構造体はテストコードでインターフェースのモックとして使用できる
- moxie - 埋め込み構造体にモックメソッドを生成
- pgxmock - pgx - PostgreSQL Driver and Toolkitを実装したモックライブラリ。
- timex - Goのネイティブパッケージ
timeのテストに最適化された代替品。 - xgo - 一般向けの純粋な関数モックライブラリ
ファジングとデルタデバッグ/縮小
Selenium・ブラウザー制御ツール
- bonk - 外部依存なしで、WebSocketを介したChrome DevToolsプロトコルを用いた高速かつ非目立つブラウザ自動化ライブラリ
- cdp - Chromeデバッグプロトコルに対応した型安全なバインディング。ブラウザやその他のデバッグターゲットに適用可能。
- chromedp - Chrome、Safari、Edge、Android Webview、およびChromeデバッグプロトコルをサポートする他のブラウザを制御・テストするための方法。
- playwright-go - Chromium、FirefoxおよびWebKitを制御するための1つのAPIを持つブラウザ自動化ライブラリ。
- rod - ウェブ自動化およびスクレイピングを簡単に行うためのDevtoolsドライバー。
- selenosis - 状態を持たないKubernetes本体向けのハブ。Selenium、Playwright、MCPセッションをカスタムリソースを介してオンデマンドのブラウザポッドにルーティング。
障害注入
- failpoint - Golang向けのfailpointsの実装。
テキスト処理
テキスト処理に関するGoライブラリ、ツール、または資料です。
フォーマッター
- address - アドレス表現、検証、フォーマットを扱う。
- align - テキストを一致させるための一般用途アプリ。
- bytes - 数値バイト値(10K、2M、3Gなど)のフォーマットとパース。
- go-fixedwidth - 固定幅のテキストフォーマット(反射を用いたエンコーダー/デコーダー)。
- go-humanize - 時間、数値、メモリサイズを人間が読みやすいフォーマットに変換するフォーマ。
- gotabulate - Goでテーブルデータを簡単に整形できる。
- sq - SQLデータベースやCSV、Excelなどのドキュメント形式からJSON、Excel、CSV、HTML、Markdown、XML、YAMLなどのフォーマットに変換。
- textwrap - 行の末尾にテキストを折り返す。Pythonの
textwrapモジュールの実装。
マークアップ言語
- bafi - テンプレートを用いて、JSON、BSON、YAML、XMLを任意のフォーマットに変換するユニバーサルトランスレータ。
- bbConvert - bbCodeをHTMLに変換し、カスタムbbCodeタグのサポートを追加できる。
- blackfriday - Goで書かれたMarkdownプロセッサ。
- go-output-format - GoアプリケーションのコマンドラインでGo構造体を複数フォーマット(YAML/JSONなど)に出力。
- go-toml - TOMLフォーマット向けのGoライブラリ。クエリサポートと便利なCLIツールを備える。
- goldmark - Goで書かれたMarkdownパーサー。拡張しやすく、標準(CommonMark)に準拠し、構造が良好。
- goq - HTMLにstructタグを用いて宣言的にアンマーシャル(jQuery構文を使用。GoQueryを用いる。)
- html-to-markdown - HTMLをマークダウンに変換。全体のウェブサイトにも対応し、ルールで拡張可能。
- htmlquery - HTMLに対するXPathクエリパッケージ。XPath表現でHTMLドキュメントからデータを抽出または評価できる。
- htmlyaml - GoにおけるYAMLを豊かにHTMLにレンダリング。
- htree - html.Nodeオブジェクトの木構造を探索・ナビゲート・フィルタリングし、他の処理を行う。
- markdown - メソッドチェインでGitHub風マークダウンとmermaid図を生成するマークダウンビルダー。
- mdsmith - 高速かつ自動修正可能なマークダウンリーダーとフォーマッター。スタイル、読みやすさ、構造、および跨ファイルの整合性をチェック。
- mxj - XMLをJSONまたはmap[string]interface{}にエンコード/デコード。ドット記法とワイルドカードで値を抽出。x2jおよびj2xパッケージを置き換える。
- picoloom - CLIおよびGoライブラリAPIを用いたマークダウンからPDFへの変換。
- toml - TOML設定フォーマット(反射によるエンコーダー/デコーダー)。
パーサー/エンコーダー/デコーダー
- allot - CLIツールやボット向けのプレースホルダーおよびワイルドカードテキストのパース。
- codetree - インデントされたコード(python、pixy、scarletなど)をパースし、ツリー構造を返す。
- commonregex - Go用の一般的な正規表現のコレクション。
- did - GoにおけるDID(分散識別子)パーサーおよびストリング生成関数。
- doi - Goにおけるドキュメントオブジェクト識別子(DOI)パーサー。
- editorconfig-core-go - GoにおけるEditorconfigファイルのパーサーおよび操作ツール。
- go-fasttld - 高パフォーマンスのトップレベルドメイン(eTLD)抽出モジュール。
- go-nmea - Go言語用のNMEAパーサーライブラリ。
- go-querystring - Goライブランダで構造体をURLクエリパラメータにエンコード。
- go-vcard - vCardのパースとフォーマット。
- godump - GO変数を簡単に整形表示。Goの
fmt.Printf("%#v")への代替。 - godump (goforj) - Laravel/SymfonyスタイルのダンプでGo構造体を整形。完全な型情報、色付きCLI出力、サイクル検出、プライベートフィールドアクセスを提供。
- gofeed - GoでRSSおよびAtomフィードをパースする
- gographviz - GraphvizのDOT言語をパースする
- gonameparts - 人間の名前を個々の名前部に分解する
- ltsv - 高性能のLTSV (Labeled Tab Separated Value)リーダー(Go用)。
- normalize - 曖昧なテキストをセイフティ化、標準化し、比較する
- parseargs-go - 引用符と逆スラッシュを理解する文字列引数パーサー
- prattle - LL(1)文法をシンプルかつ効率的にスキャン・パースする
- sh - シェルパーサーおよびフォーマッター
- tokenizer - 任意の文字列、スライス、無限バッファを任意のトークンにパースする
- vdf - Goで書かれたValvesデータフォーマット(vdf)用のLexerおよびParser
- when - プラグイン可能なルールを持つ自然言語のENおよびRUの日時パーサー
- xj2go - XMLまたはJSONをGo構造体に変換する
正規表現
- coregex - Rustのregex-crateアーキテクチャに基づく生産性のある正規表現エンジン:複数エンジンDFA/NFA、SIMDフィルタ、標準ライブラリ置き換え
- genex - 正規表現をすべての一致する文字列にカウント・展開する
- go-wildcard - シンプルで軽量のワイルドカードパターンマッチング
- goregen - 正規表現からランダムな文字列を生成するライブラリ
- regroup - 構造体タグと自動パースを使って、正規表現の名前付きグループをGo構造体にマッチする
- rex - 正規表現ビルダー
サニタイズ
- bluemonday - HTMLセイフティ化
- gofuckyourself - Go用のセイフティ化ベースのスワールフィルター
スクレイパー
- colly - Gophers向けの高速かつ洗練されたスクレイピングフレームワーク
- dataflowkit - ウェブスクレイピングフレームワークでウェブサイトを構造化データに変換します。
- go-recipe - ウェブサイトからレシピをスクレイピングするためのパッケージ。
- go-sitemap-parser - Go言語によるサイトマップのパース用ライブラリ。
- GoQuery - GoQueryは、jQueryに類似した構文と機能をGo言語に提供するライブラリです。
- pagser - Pagserは、GoQueryとGo言語の構造タグを用いて、HTMLページを構造体にパース・デシリアライズするシンプルかつ拡張可能なライブラリです。
- Tagify - 与えられたソースからタグを生成します。
- walker - 任意のソースからページネーションデータをスムーズに取得。シンプルかつ高性能なAPIスクレイピングが含まれます。
- xurls - テキストからURLを抽出します。
RSS
- podcast - GolangによるiTunes準拠およびRSS 2.0対応のポッドキャスト生成ツール。
ユーティリティ/その他
- ahocorasick - 高性能なAho-Corasickマルチパターン文字列マッチング。DFAコンパイルとSIMDフィルタを用いて、最大7GB/sの処理速度(coregxエコシステムの一部)。
- go-runewidth - 文字または文字列の固定幅を取得する関数。
- kace - 一般的な初期語形を含む変換をカバーするユーティリティ。
- lancet - Go向けの包括的な、Lodashに類似したユーティリティライブラリ。
- petrovich - Petrovichは、ロシア語名を指定された文法形に変換するためのライブラリです。
- radix - 高速な文字列ソートアルゴリズム。
- TySug - キーボードレイアウトに関する代替提案。
- uniwidth - SWAR最適化、O(1)リクエストテーブル、ZWJエモジ対応を含む、高性能なUnicode文字幅計算ライブラリ。
- w2vgrep - 語ベクトルを用いた意味論的grepツールで、意味的に類似したマッチを検索します。たとえば、「death」を検索すると、「dead」、「killing」、「murder」などが見つかります。
サードパーティAPI
サードパーティAPIに関するGoライブラリ、ツール、または資料です。
- airtable - Airtable API向けのGoクライアントライブラリ。
- anaconda - Twitter 1.1 API向けのGo言語クライアントライブラリ。
- appstore-sdk-go - AppStore Connect API向けの非公式Golang SDK。
- aws-encryption-sdk-go - AWS Encryption SDKの非公式Go SDK実装。
- aws-sdk-go - Goプログラミング言語向けのAWS公式SDK。
- bqwriter - 高スループットでデータをGoogle BigQueryに書き込むためのGoのハイレベルライブラリ。
- brewerydb - BreweryDB APIにアクセスするためのGoライブラリ。
- cachet - オープンソースのステータスページシステムCachet向けGoクライアントライブラリ。
- circleci - CircleCIのAPIに接続するためのGoクライアントライブラリ
- codeship-go - CodeshipのAPI v2に接続するためのGoクライアントライブラリ
- coinpaprika-go - CoinpaprikaのAPIに接続するためのGoクライアントライブラリ
- colony-sdk-go - AIエージェントをユーザーとする公開ソーシャルネットワークThe Colony向けGoクライアントライブラリ。
- device-check-go - iOS DeviceCheck API v1 との相互作用を行う Go クライアント ライブラリ
- discordgo - DiscordチャットAPIへのGoバインディング
- disgo - Discord APIへのGo APIラッパー
- dusupay-sdk-go - Dusupay支払いゲートウェイの非公式APIクライアント(Go)
- ethrpc - Ethereum JSON RPC APIへのGoバインディング
- facebook - Facebook Graph APIをサポートするGoライブラリ
- fasapay-sdk-go - Fasapay支払いゲートウェイの非公式XML APIクライアント(Golang)
- fcm - Firebase Cloud MessagingへのGoライブラリ
- gads - Google Adwordsの非公式API
- gcm - Google Cloud MessagingへのGoライブラリ
- geo-golang - Google Maps, MapQuest, Nominatim, OpenCage, Bing, Mapbox, および OpenStreetMap の地理コード / 反地理コード API にアクセスする Go ライブラリ
- github - GitHub REST API v3へのアクセスをサポートするGoライブラリ
- githubql - GitHub GraphQL API v4へのアクセスをサポートするGoライブラリ
- go-atlassian - Atlassian Cloud サービス(Jira, Jira Service Management, Jira Agile, Confluence, Admin Cloud)にアクセスする Go ライブラリ
- go-aws-news - AWSの最新情報を取り込むためのGoアプリケーションおよびライブラリ
- go-chronos - Chronos Job Scheduler との相互作用を行う Go ライブラリ
- go-gerrit - Gerrit Code Review 用の Go クライアント ライブラリ
- go-hacknews - HackerNews APIへのTiny Goクライアント
- go-here - HEREの位置ベースAPIに接続するためのGoクライアントライブラリ
- go-hibp - “Have I Been Pwned” APIへのシンプルなGoバインディング
- go-imgur - imgur 用の Go クライアント ライブラリ
- go-jira - Atlassian JIRA 用の Go クライアント ライブラリ
- go-lark - FeishuおよびLarkオープンプラットフォーム向けの使いやすい非公式SDK
- go-marathon - MesosphereのMarathon PAASに接続するためのGoライブラリ
- go-myanimelist - MyAnimeList API にアクセスする Go クライアント ライブラリ
- go-openai - OpenAI ChatGPT、DALL·E、Whisper API向けのGoライブラリ
- go-openproject - OpenProject API との相互作用を行う Go クライアント ライブラリ
- go-postman-collection - Postman Collections と作業する Go モジュール(Insomnia と互換)
- go-redoc - Go で使用する ReDoc の埋め込み OpenAPI/Swagger ドキュメント UI
- go-restcountries - REST Countries API 用の Go ライブラリ
- go-salesforce - Salesforce REST API との相互作用を行う Go クライアント ライブラリ
- go-sophos - Sophos UTM REST API 用のゼロ依存の Go ライブラリ
- go-swagger-ui - Swagger UI の事前コンパイル済みバージョンを含む Go ライブラリ(Swagger JSON を提供)
- go-telegraph - Telegraph公開プラットフォームAPIクライアント
- go-trending - GitHub での trending repositories および developers にアクセスする Go ライブラリ
- go-unsplash - Unsplash.com API 用の Go クライアント ライブラリ
- go-xkcd - xkcd API向けのGoクライアント
- go-yapla - Yapla v2.0 API向けのGoクライアントライブラリ
- goagi - Asterisk PBXのagi/fastagiアプリケーションを構築するためのGoライブラリ
- goami2 - Asterisk PBX用のAMI v2ライブラリ
- GoFreeDB - Google Sheets上で共通かつシンプルなデータベース抽象化を提供するGolangライブラリ
- gogtrends - Google Trends非公式API
- golang-tmdb - The Movie Database API v3向けのGolangラッパー
- golyrics - GolyricsはWikiaサイトから音楽の歌詞データを取得するためのGoライブラリ
- gomalshare - Go ライブラリ MalShare API malshare.com
- GoMusicBrainz - Go MusicBrainz WS2クライアントライブラリ
- google - 自動生成されたGo用Google API
- google-analytics - 簡単なラッパーでGoogleアナリティクスの報告を実行
- google-cloud - Google Cloud API Goクライアントライブラリ
- gopaapi5 - Amazon Product Advertising API 5.0 用の Go クライアント ライブラリ
- gopensky - OpenSKY Network ライブ API(airspace ADS-B および Mode S データ)用の Go クライアント実装
- gosip - SharePoint向けクライアントライブラリ
- gostorm - GoStormは、GoでStormのspoutおよびBoltを実装するための通信プロトコルを実装するGoライブラリ
- hipchat - このプロジェクトはHipchat API向けのGoクライアントライブラリを実装しています
- hipchat (xmpp) - XMPP経由でHipChatと通信するためのGoパッケージ
- httpsms-go - httpSMS API向けのGoクライアント
- igdb - Internet Game Database API 用の Go クライアント
- ip2location-io-go - IP2Location.io API 用の Go ワッパー IP2Location.io
- jokeapi-go - JokeAPI 用の Go クライアント
- lark - Feishu/Lark Open API Go SDK、すべてのOpen APIおよびイベントコールバックをサポート
- lastpass-go - LastPass API 用の Go クライアント ライブラリ
- lemonsqueezy-go - レモンスqueezy API向けのGoクライアント
- libgoffi - ネイティブ libffi インテグレーション向けのライブラリ アダプタ ツールボックス
- libopenapi - OpenAPI、Swagger、Overlays、Arazzo仕様のパース、検証、操作
- Medium - MediumのOAuth2 API向けのGolang SDK
- megos - Apache Mesos クラスタにアクセスするためのクライアント ライブラリ
- minio-go - Amazon S3に対応したクラウドストレージ向けMinio Goライブラリ
- mixpanel - MixpanelはGoアプリからイベントを追跡し、Mixpanelにプロフィール更新を送信するためのライブラリ
- newsapi-go - NewsAPI 用の Go クライアント
- openaigo - OpenAI GPT3/GPT-3.5 ChatGPT API向けのGoクライアントライブラリ
- patreon-go - Patreon API向けのGoライブラリ
- paypal - PayPal支払いAPI向けのラッパー
- playlyfe - Playlyfe REST API向けのGo SDK
- pushover - Pushover API向けのGoラッパー
- rawg-sdk-go - RAWG Video Games Database API 用の Go ライブラリ
- shopify - Shopify APIへのCRUDリクエストを実行するためのGoライブラリ
- simples3 - シンプルで機能が少ないAWS S3ライブラリ。V4署名を用いたRESTでGoで書かれたもの
- slack - Slack APIをGoで実装
- smite - SmiteゲームAPIへのアクセスをラップするGoパッケージ
- sonarqube-client-go - SonarQube Web API向けのGoクライアントライブラリおよびコマンドラインクライアント
- spec - 軽量なOpenAPI 3.xビルダー。静的生成とchi、echo、gin、fiber、muxなど、人気フレームワークをサポート
- spotify - Spotify WEB APIへのアクセスを可能にするGoライブラリ
- steam - Steamゲームサーバーとのやり取りを行うためのGoライブラリ
- stripe - Stripe API向けのGoクライアント
- swag - コメントなし、シンプルなGoラッパー。Swagger 2.0互換APIを作成可能。主なルーティングフレームワーク(組み込み、gin、chi、mux、echo、httprouter、fasthttpなど)をサポート
- textbelt - textbelt.com のテキストメッセージAPI用のGoクライアント
- threads-go - メタのThreads API用のOAuth 2.0、レート制限、型安全なエラー処理を備えたGoクライアントライブラリ
- Trello - Trello API用のGoワッパー
- TripAdvisor - TripAdvisor API用のGoワッパー
- tumblr - Tumblr v2 API用のGoワッパー
- uptimerobot - Uptime Robot v及v2 API用のGoワッパーおよびコマンドラインクライアント
- vl-go - VerifID識別確認レイヤーAPI用のGoクライアントライブラリ
- webhooks - GitHubおよびBitbucket用のウェブホークリシーバー
- wit-go - wit.ai HTTP API用のGoクライアント
- ynab - YNAB API用のGoワッパー
- zooz - Zooz API用のGoクライアント
ユーティリティ
ユーティリティに関するGoライブラリ、ツール、または資料です。
- abstract - ビジネスロジックにおけるバーチャルコードを削減するための抽象化とユーティリティ
- apm - Golangアプリケーション向けのプロセスマネージャー(HTTP APIあり)
- backscanner - bufio.Scannerに似たスキャナーだが、指定された位置から逆順に行を読み取り、返す
- bed - Goで書かれたVim風のバイナリエディタ
- blank - 文字列から空白やスペースを確認または削除
- bleep - Goで任意のOSシグナルセットに対して任意のアクションを実行
- boilr - テンプレートからプロジェクトを作成するための高速CLIツール
- boring - シンプルなコマンドラインSSHトンネルマネージャー
- changie - 多くのカスタマイズオプションを備えた自動化された変更ログツール
- chyle - gitリポジトリを使用した変更ログ生成ツール。複数の設定オプションを提供。
- circuit - Hystrixに類する、Goによる回路ブレーカーパターンの効率的かつ機能豊富な実装。
- circuitbreaker - Goにおける回路ブレーカー機能。
- clipboard - 📋 Goによるクロスプラットフォームクリップボードパッケージ。
- clockwork - Go用のシンプルな仮想時計。
- cmd - osx、windowsおよびlinuxでシェルコマンドを実行するためのライブラリ。
- config-file-validator - 構成ファイルの検証に用いるクロスプラットフォームツール。
- contem - Goアプリケーションのスムーズなシャットダウンに必要なcontext.Contextの置き換え。
- cookie - Cookie構造体のパースとヘルパーパッケージ。
- copy-pasta - S3のようなバックエンドを使用するユニバーサルマルチワークステーションクリップボード。
- countries - ISO-3166—1、ISO-4217、ITU-T E.164、Unicode CLDRおよびIANA ccTLD標準の完全実装。
- countries - Goで国を扱う際に必要なすべての機能。
- create-go-app - 1つのコマンドで実行することで、バックエンド(Golang)、フロントエンド(JavaScript、TypeScript)およびデプロイ自動化(Ansible、Docker)を含む、生産環境向けプロジェクトを作成するための強力なCLI。
- cryptgo - Crytpgoは、リアルタイムで暗号資産価格を監視・観察するための、Goで完全に実装されたTUIアプリケーション!
- ctop - Top-like インターフェース(例:htop)によるコンテナメトリクス
- ctxutil - context用のユーティリティ関数のコレクション。
- cvt - 任意の値を別の型に安全かつ簡単に変換できる。
- dbt - 中央に配置された信頼できるリポジトリから、自動更新される署名済みバイナリを実行するためのフレームワーク。
- Death - Goアプリケーションのシャットダウンをシグナルで管理する。
- debounce - Goで書かれたゼロ割り当てデボンサー。
- delve - Goデバッガー。
- dive - Dockerイメージの各レイヤーを探索するためのツール
- dlog - コンパイル時制御のログ出力により、デバッグ呼び出しを削除せずにリリースサイズを小さくできる
- EaseProbe - シンプルで独立した、軽量なツール。ヘルス/ステータスチェックデーモンを実行し、HTTP/TCP/SSH/シェル/クライアント/…プローブをサポートし、Slack/Discord/Telegram/SMS/…通知を提供
- equalizer - Go向けのクォータマネージャーおよびレート制限器のコレクション
- ergo - 複数の異なるポートで動作するローカルサービスの管理を簡単に行う
- evaluator - s-expressionに基づいて動的に式を評価。シンプルで拡張しやすい
- Failsafe-go - Go向けの障害耐性および回復パターン
- filetype - ファイルタイプをマジックナンバー署名で検査してファイルタイプを推定するための小さなパッケージ
- filler - “fill”タグを使用して構造体を埋めるための小さなユーティリティ
- filter - Goデータのフィルタリング、クリーンアップ、変換を提供
- fzf - Goで書かれたコマンドラインのフュージー検索ツール
- generate - 指定されたパスまたは環境変数に対してgo generateを再帰的に実行し、正規表現でフィルタリングできる
- gh-image - gh CLI拡張機能で、コマンドラインからGitHubのイシュー、PR、READMEに画像をアップロードし、リポジトリの可視性を尊重したユーザー添付URLを生成
- ghokin - Gherkin(Cucumber、Behat…)向けの外部依存なし並列フォーマッタ
- git-time-metric - Git向けのシンプルでスムーズで軽量なタイムトラッキング
- git-tools - Gitタグの管理を支援するツール
- gitbatch - 一つの場所でGitリポジトリを管理
- gitcs - Gitコミットの可視化、ローカルマシン上でGitコミットを可視化するCLIツール
- go-actuator - Goベースのウェブフレームワーク向けのプロダクション対応機能
- go-astitodo - GOコード内のTODOをパース
- go-bind-plugin - go:generate ツールで Go プラグインがエクスポートするシンボルをラップする (1.8 限定)。
- go-bsdiff - 純粋な Go バイナリ差分(bsdiff)およびバージョン差分(bspatch)ライブラリと CLI ツール。
- go-clip - Mac 用の極めてシンプルなクリップボードマネージャー。
- Go-Constant - Go における enum 型の欠如に対応する、安全な文字列パースを備えた一般型定数セット。
- go-convert - パッケージ go-convert は、値を別の型に変換できるようにする。
- go-countries - ISO-3166 コードに対する軽量な検索ツール。
- go-dry - Go 用の DRY(繰り返さない)パッケージ。
- go-events - Go のイベントとイベントサブスクライブパッケージ。WordPress ホール関数に似ている。
- go-funk - 現代的な Go ユーティリティライブラリ。マップ、検索、含む、フィルタ、チャンク、逆順などヘルパーを提供。
- go-health - ヘルスチェックをサービスに簡単に追加するためのヘルスパッケージ。
- go-httpheader - 構造体をヘッダー項目にエンコードするための Go ライブラリ。
- go-lambda-cleanup - AWS Lambda の使われていないまたは以前のバージョンを削除するための CLI ツール。
- go-lock - go-lock は、読み取り・書き込みミューテックスと読み取り・書き込みトライロックを実装し、スターバークを回避するロックライブラリ。
- go-pattern-match - ts-pattern にインスパイアされたパターンマッチングライブラリ。
- go-pkg - Go 用のツールキット。
- go-problemdetails - 問題詳細(Problem Details)を扱うための Go パッケージ。
- go-qr - 本質的で、高品質かつ極めてシンプルな QR コード生成器。
- go-rate - Go 用のタイム付きレート制限器。
- go-safecast - 整数オーバーフローおよびアンダーフローを防止する安全な数値型変換ライブラリ(gosec G115 および CWE-190 を解決)。
- go-sitemap-generator - Go で書かれた XML サイトマップ生成器。
- go-snk - スライス、マップ、文字列、エラー、JSON、HTTP、コンテナなどに対して型安全なジェネリックヘルパーを提供する、小さな独立したパッケージで構成されたもの。
- go-trigger - Go言語のグローバルイベントトリガー、IDを指定してイベントを登録し、プロジェクト内のどこからでもイベントをトリガーできる。
- go-tripper - TripperはGo向けの回路ブレーカーパッケージで、回路の切り替えと状態の制御が可能。
- go-type - ISO-4217、ISO-316及他のタイプのためのGo型を提供するライブラリ。
- go-utils - JavaScriptおよびPythonにインスパイアされたシンプルかつパフォーマンスの高いジェネリックユーティリティ(map、filter、reduceなど)。
- goback - Go向けのシンプルな指数関数バックオフパッケージ。
- goctx - 高パフォーマンスでコンテキストの値を取得できる。
- godaemon - デーモンを書くためのユーティリティ。
- godoclive - chi、gin、net/httpルーターの静的解析を用いて、Go HTTPハンドラからインタラクティブなAPIドキュメントを生成。
- godropbox - ドロップボックスからGoサービス/アプリケーションを書くために提供される共通ライブラリ。
- gofn - Go 1.18以降のジェネリクスを使用して書かれた、パフォーマンスの高いユーティリティ関数。
- golarm - システムイベントによるアラームの発生。
- golog - タスクのタイムトラックを簡単かつ軽量に実行できるCLIツール。
- gopencils - REST APIを簡単に消費できる小さなパッケージ。
- goplaceholder - 小さなGoライブラリでプレースホルダー画像を生成。
- goreadability - Facebook Open Graphおよびarc90のreadabilityを使用したウェブページの要約抽出。
- goreleaser - Goバイナリをできるだけ高速かつ簡単に配布。
- goreporter - 静的解析、ユニットテスト、コードレビュー、コード品質レポートを生成するGoツール。
- goseaweedfs - SeaweedFSクライアントライブラリでほぼすべての機能を提供。
- gostrutils - 文字列操作および変換関数のコレクション。
- gotenv - Go で
.envまたは任意のio.Readerから環境変数を読み込む - goval - Goで任意の式を評価する
- graterm - Goアプリケーションにおける順序付き(順行/並列)GRAceful TERMination(つまりシャットダウン)を行うための基本的な機能を提供
- grofer - Golangで書かれたシステムおよびリソースモニタリングツール!
- gubrak - Golang向けのユーティリティライブラリで、構文糖を提供。Lodashに似たものだが、Golang用。
- handy - 文字列ハンドラー/フォーマッターやバリデーターなど、多くのユーティリティとヘルパーを提供。
- healthcheck - Kubernetes向けのシンプルで強力な準備テスト。
- hostctl - /etc/hostsの管理を行うためのCLIツール。簡単なコマンドで操作可能。
- htcat - 並列およびパイプライン方式のHTTP GETユーティリティ。
- hub - gitコマンドを追加機能付きでラップし、ターミナルからGitHubとやり取りできるようにする。
- immortal - *nix対応(OSに依存しない)のサーバー監視ツール。
- jet - Just Edit Text:正規表現を使ってファイル内のコンテンツや名前を検索・置換する、高速かつ強力なツール。
- jsend - JSendをGoで実装したバージョン。
- json-log-viewer - JSONログをインタラクティブに閲覧するためのビュー。
- jump - Jumpは、あなたの習慣を学習することで、ナビゲーションを速くするツール。
- just - ジェネリックデータ構造を扱うための便利な関数のコレクション。
- koazee - 配列の操作を楽にする、ラグリ評価と関数型プログラミングをインスピレーションとしたライブラリ。
- LAN Orangutan - ネットワークデバイスの発見とインベントリ管理。持続的なラベル付け、複数ネットワークスキャン、Tailscale統合。
- lang - ブレーカーなしで変数、スライス、マップを扱うための汎用ワンライナー。
- lets-go - クラウドネイティブREST API開発に必要な共通ユーティリティを提供するGoモジュール。また、AWS専用のユーテリティも含む。
- limiters - Goで構築された分散アプリケーション向けのレート制御器。設定可能なバックエンドと分散ロックを備える。
- lo - Go 1.18+ のジェネリクスをベースにした、Lodash に似た Go ライブラリ(map、filter、contains、find など)
- loncha - 高パフォーマンスのスライスユーティリティ
- lrserver - Go 用の LiveReload サーバー
- mani - 複数リポジトリを管理するための CLI ツール
- mc - Minio Client は、Amazon S3 互換のクラウドストレージおよびファイルシステムとの作業に必要な最小限のツールを提供
- mergo - Golang で構造体とマップをマージするヘルパー。設定のデフォルト値などに便利で、めんどくさい if 文を避けられる
- mimemagic - 純粋な Go ライブラリによる超高速 MIME スニッフィングライブラリ/ユーティリティ
- mimetype - マジックナンバーに基づく MIME タイプ検出用のパッケージ
- minify - HTML、CSS、JS、XML、JSON および SVG ファイル形式向けの高速ミニファイア
- minquery - MongoDB / mgo.v2 のクエリで、効率的なページネーション(続きを表示するためのカーソル)をサポート
- moldova - 入力テンプレートに基づいてランダムデータを生成するヘルパー
- mole - SSH ツールを簡単に作成する CLI アプリ
- mongo-go-pagination - 公式 MongoDB/mongo-go-driver パッケージ向けの MongoDB ページネーション(通常クエリおよびアグリゲーションパイプラインをサポート)
- mssqlx - マスターバーチャル、マスターマスターバーチャル構造に対応するデータベースクライアントライブラリ。軽量で自動バランスを考慮した設計
- multitick - 並行したタイマーを管理するマルチプレクサ
- netbug - サービスのリモートプロファイリングを簡単に実行できるユーティリティ
- nfdump - nfdump ネットフローファイルを読み込む
- nostromo - 強力なエイリアスを構築するための CLI
- okrun - go run のエラーをスチームロールする
- olaf - Twitter の Snowflake を Go で実装
- onecache - 複数のバックエンドストア(Redis、Memcached、ファイルシステムなど)をサポートするキャッシュライブラリ
- optional - オプションの構造体フィールドと変数
- panicparse - 類似のgoroutineをグループ化し、スタックダンプを色分け表示
- pattern-match - パターンマッチングライブラリ
- peco - シンプルなインタラクティブフィルタリングツール
- pgo - PHPコミュニティ向けの便利な関数
- pm - HTTP APIを用いたプロセス(つまりgoroutine)マネージャー
- pointer - パッケージポインタは、基本型のオプションフィールドの作成を簡略化するためのヘルパー関数を含む
- ptr - 基本型の定数からポインタを作成するための関数を提供するパッケージ
- rate - トークンバケットとAIMD戦略を用いた高性能なレート制御ライブラリ
- rclient - REST APIにアクセスするための読みやすく、柔軟で使いやすいクライアント
- release - Keep-a-changelog形式の変更ログを管理するCLIツール
- relimpact - Goプロジェクト向けの高速API互換性報告ツール
- remote-touchpad - スマートフォンからマウスとキーボードを制御
- repeat - リトライ操作やハートビートに有用なバックオフ戦略を実装したGoバージョン
- request - Go HTTPリクエスト for Humans™
- rerun - ソースコードが変更された際にGoアプリを再コンパイル・再実行
- rest-go - REST APIとの作業に便利な多くのメソッドを提供するパッケージ
- retro - エラー時にリトライを行うための便利なライブラリ(バックオフ戦略、上限など、広範な柔軟性)
- retry - 成功まで繰り返し実行を行うための最も高度な機能メカニズム
- retry - Go におけるシンプルで高柔軟性のリトライパッケージ
- retry - Go におけるシンプルで使いやすいリトライメカニズムパッケージ
- retry - あなたの仕事の実行を確実に保証する、非常にシンプルなライブラリ
- retry-go - リトライメカニズムに特化したシンプルなライブラリ
- retry-go - Go でのリトライをシンプルかつ容易に実現
- robustly - 関数を頑健に実行し、パニックをキャッチして再起動
- rospo - Go でシンプルかつ信頼性の高い SSH ツールを提供、内蔵 SSH サーバー付き
- scan - Go の
sql.Rowsを直接構造体、スライス、またはプリミティブ型にスキャン - scan - ジェネリクスを活用した SQL レコードのスキャン
- scany - データベースから Go の構造体などにデータをスキャンするためのライブラリ
- serve - どこでも必要に応じて静的 HTTP サーバーを提供
- sesh - Sesh は zoxide を使って tmux セッションを迅速かつ簡単に作成・管理できる CLI
- set - パフォーマンスと柔軟性を備えた構造体マッピングおよび柔軟な型変換
- shutdown -
os.Signalの処理用のアプリ終了ハンドル - silk - silk ネットフローファイルを読み込む
- slice - Go スライスの一般的な操作に安全な関数を提供
- sliceconv - プリミティブ型間のスライス変換
- slicer - スライスの操作をより簡単にする
- sorty - 高速な並列/並列ソート
- sqlex - jmoiron/sqlx のドロップイン現代化、SQL レキサのバグ修正、自動 IN 文の展開、プラグイン可能なハック、統一された DB/Tx/Conn インターフェース
- sqlx - 非常に優れた標準ライブラリ database/sql に拡張されたセットを提供
- sqlz - database/sql パッケージへの拡張、名前付きクエリ、構造体スキャン、バッチ操作を追加
- sshman - 複数のリモートサーバー上のauthorized_keysファイルを管理するSSHマネージャー
- stacktower - XKCD #2347を参考にした、依存関係グラフを物理的なタワー構造として可視化
- statiks - 高速で設定不要、静的HTTPファイルサーバー
- Storm - BoltDB用のシンプルかつ強力なツールキット
- structs - 構造体を操作するためのシンプルな関数を実装
- throttle - 一定期間ごとに1回だけ動作を行うオブジェクト
- tik - Go用のシンプルで使いやすいタイマー用パッケージ
- tome - TomeはシンプルなRESTフルAPIをページネートするための設計されたツール
- toolbox - スライス、マップ、マルチマップ、構造体、関数、データ変換ユーティリティ。サービスルーター、マクロ評価器、トークナイザ。
- UNIS - Goにおける文字列ユーティリティの共通アーキテクチャ™
- upterm - 開発者がウェブ上で安全にターミナル/tmuxセッションを共有できるツール。リモートペアプログラミング、NATやファイアウォールの後ろにあるコンピュータへのアクセス、リモートデバッグなどに最適。
- usql - usqlはSQLデータベース向けのユニバーサルコマンドラインインターフェース
- util - 便利なユーティリティ関数のコレクション。(strings, concurrency, manipulations, …)
- watchhttp - 命令を定期的に実行し、最新のSTDOUTまたはその詳細な差分をHTTPエンドポイントとして公開
- wifiqr - Wi-Fi QRコード生成ツール
- wuzz - HTTP検証用のインタラクティブCLIツール
- xferspdy - Xferspdyはgolangでバイナリ差分とパッチライブラリを提供
- xpool - もう一つのgolangの型安全オブジェクトプール(ジェネリクスを使用)
- yogo - コマンドラインからyopmailのメールを確認
UUID
UUIDに関するGoライブラリ、ツール、または資料です。
- fastuuid - UUIDv4を文字列またはバイトとして高速に生成
- goid - RFC4122に準拠したV4 UUIDの生成とパースを行う
- gouid - 1回の割り当てで暗号的に安全なランダム文字列IDを生成
- guid - Go 用の高速暗号安全な Guid 生成器(
uuidに比べて約10倍速) - nanoid - 極めて小さく、効率的なGoによるユニーク文字列ID生成器
- sno - コンパクトで並べ替え可能かつ高速なユニークID(埋め込みメタデータ付き)
- ulid - ULID(Universally Unique Lexicographically Sortable Identifier)のGo実装
- uniq - 手間なく安全かつ高速なユニーク識別子をコマンドで提供
- uuid - 高速または暗号品質のランダムノード識別子を使用してUUID v1の生成・エンコード・デコードを行う
- uuid - 普遍的にユニークな識別子(UUID)の実装。UUIDの作成とパースをサポート。satori uuidの積極的に維持されているフォーク
- uuid - RFC 4120およびDCE 1.1に基づくGoによるUUIDパッケージ
- uuidcheck - 標準RFC 4122フォーマットに従ってUUIDを検証し、UUIDv7()をUTCタイムスタンプに変換する、極めて軽量なGoライブラリ
- wuid - 非常に高速なグローバルユニークナンバー生成器
- xid - XidはグローバルユニークID生成ライブラリであり、サーバーコードに直接安全に使用できるように設計されている
バリデーション
バリデーションに関するGoライブラリ、ツール、または資料です。
- checkdigit - チェックディジットアルゴリズム(Luhn、Verhoeff、Damm)および計算器(ISBN、EAN、JAN、UPCなど)を提供
- go-validator - ジェネリクスを使用した検証ライブラリ
- gody - :balloon: Go用の軽量構造体検証ライブラリ
- govalid - 構造体に対する高速かつタグベースの検証
- govalidator - 文字列、数値、スライス、構造体に対する検証とクリーンアップツール
- govalidator - シンプルなルールでGolangのリクエストデータを検証。Laravelのリクエスト検証に強くインスパイアされている
- govy - ジェネリクスとリフレクションを使い、強制型検証ルールを提供。明確で情報豊かなエラーメッセージを優先した設計
- hvalid hvalid is a lightweight validation library written in Go language. It provides a custom validator interface and a series of common validation functions to help developers quickly implement data validation.
- jio - jio は joi に類似する JSON スキーマバリデーター
- ozzo-validation - さまざまなデータ型(構造体、文字列、マップ、スライスなど)の検証をサポート。検証ルールは通常のコード構造で設定可能で、構造体タグではなく指定可能
- validate - Goパッケージでデータのバリデーションとフィルタリングを実現。Map、Struct、Request(Form、JSON、url.Values、アップロードファイル)などのデータのバリデーションおよびその他の機能をサポート。
- validate - このパッケージはGoアプリケーションにおけるバリデーションの記述を可能にするフレームワークを提供する。
- validator - GoのStructおよびフィールドバリデーション。クロスフィールド、クロスStruct、Map、SliceおよびArrayのネスト処理を含む。
- Validator - Goで書かれた軽量なモデルバリデイター。VFs:Min、Max、MinLength、MaxLength、Length、Enum、Regexを含む。
- valix Go package for validating requests
- Zog - Zod をインスピレーションとして、ランタイム値のパーサーおよびバリデーターを構築するスキーマビルダー。⬆ back to top
バージョン管理
バージョン管理に関するGoライブラリ、ツール、または資料です。
- cli - オープンソースのGitLabコマンドラインツール。GitLabの魅力的な機能をコマンドラインに届ける。
- froggit-go - Froggit-Goは、VCSプロバイダーに対して操作を行うGoライブラリ。
- ggc - Git CLIツールで、従来のコマンドラインとインタラクティブなインクリメンタル検索UI、ワークフロー対応、カスタマイズ可能なキーバインディングを備える。
- git-courer - Ollamaを使用したローカルMCPサーバー。トークンを保存し、秘密情報の漏洩を防ぐ。
- git2go - libgit2に対するGoのバインディング。
- githooks - リポジトリごとおよび共有Gitホック。バージョン管理と自動更新をサポート。
- gitty - 1つのバイナリでGit/GitHub CLIを実現。add→commit→pushを1コマンドで実行。人間が読みやすい構文であり、外部依存なし。
- go-git - 純Goで構成された高度に拡張可能なGit実装。
- go-vcs - GoでVCSリポジトリの操作および検証を行う。
- hercules - Gitリポジトリの履歴から高度な洞察を得る。
- hgo - Hgoは、ローカルMercurialリポジトリへの読み取りアクセスを提供するGoパッケージのコレクション。
動画
動画に関するGoライブラリ、ツール、または資料です。
- gmf - FFmpeg av*ライブラリに対するGoのバインディング。
- go-astiav - ffmpegのより良いCバインディング(Go用)。
- go-astisub - GOで字幕を操作および検証(.srt、.stl、.ttml、.webvtt、.ssa/.ass、teletext、.smiなど)。
- go-astits - GOでMPEG Transport Streams(.ts)をネイティブにパースおよびデマルチ。
- go-mpd - MPEG-DASHマニフェストファイルのパーサーおよびジェネレーターライブラリ。
- goav - FFmpeg向けの包括的なGoバインディング
- gortsplib - 純粋なGoによるRTSPサーバーとクライアントライブラリ
- hls-m3u8 - HLS(M3U8)プレイリストのパーサーとジェネレーター;仕様に合わせて常に最新に保たれている
- libvlc-go - libvlc 2.X/3.X/4.X向けのGoバインディング(VLCメディアプレイヤーで使用)
- manifestor - HLSおよびDASHマニフェストのパース、フィルタ、変換、構築を行うゼロ依存ライブラリ
- mp4ff - 動画、音声、字幕、メタデータを含むMP4ファイルを扱うためのライブラリとツール
- mpeg-ts-analyzer - MPEG-2トランスポートストリームのアナライザー。PCRタイミングの適合性をチェックし、低レベルのTS、PSI、PES構造をダンプ
- v4l - Linux向けのGoによるビデオキャプチャライブラリ
Webフレームワーク
Webフレームワークに関するGoライブラリ、ツール、または資料です。
- aichteeteapee - ルーター、ミドルウェアスタック、WebSocketハブ、ファイルアップロード、OpenAPIバリデーションを備えた、すべて込みのHTTPサーバーライブラリ
- Andurel - Railsをインスピレーションとして受けたフルスタックGoウェブフレームワーク。スケルトン生成、データベースツール、サーバーレンダリングまたはInertiaによるフロントエンドを提供
- Atreugo - 高温パスでメモリ割り当てをゼロに保つ、高性能かつ拡張可能なマイクロウェブフレームワーク
- Barf - 基本的に、JSONベースのウェブAPIを構築するための素晴らしいフレームワーク。まったく無侵襲であり、既存の技術を再開発していない。スタートが簡単で迅速であり、複雑なケースにも柔軟に対応できるように設計されている
- Beego - beegoはGoプログラミング言語向けのオープンソース・ハイパフォーマンスウェブフレームワーク
- Confetti Framework - ConfettiはGoのウェブアプリケーションフレームワークで、表現力豊かで洗練された構文を持つ。ConfettiはLaravelの洗練さとGoのシンプルさを融合したものである
- Don - 非常に高性能で使いやすいAPIフレームワーク
- doors - Goで完全に構築された、状態を持ち、反応性のあるウェブアプリケーションのためのサーバー駆動フレーム及
- Echo - 高性能かつミニマリズムを採用したGoウェブフレームワーク
- Fastschema - 柔軟なGoウェブフレームワークおよびヘッドレスCMS
- Fiber - Express.jsをインスピレーションとして設計されたFasthttpベースのウェブフレームワーク
- Flamingo - プラグイン可能なウェブプロジェクト向けのフレームワーク。モジュールの概念を含み、DI、Configareas、i18n、テンプレートエンジン、GraphQL、可視性、セキュリティ、イベント、ルーティングおよび逆ルーティングなどの機能を提供
- Flamingo Commerce - クリーンアーキテクチャ(DDDやポートとアダプタ)を用いたEコマース機能を提供し、柔軟なEコマースアプリケーションを構築できるようにします。
- Fuego - 忙しいGo開発者向けのフレームワーク!WebフレームワークでソースコードからOpenAPI 3仕様を生成します。
- Gin - Goで書かれたWebフレームワーク!マルティニのようなAPIを備えていますが、パフォーマンスが非常に高く、最大40倍速いです。パフォーマンスと開発効率の両立が必要な場合に最適です。
- Ginrpc - Ginのパラメータ自動バインディングツール、Gin RPCツール。
- go-api-boot - gRPCを中心としたマイクロサービスフレームワーク。MongoのODMサポート、クラウドリソースサポート(AWS/Azure/Google)、gRPCに特化したフリュイディーな依存関係注入機能が備わり、gRPC-Webも直接サポートされており、プロキシなしでブラウザからすべてのgRPC APIにアクセス可能です。
- Goa - Goaは、GoでリモートAPIおよびマイクロサービスを開発するための包括的なアプローチを提供します。
- GoFr - Gofrは、意見をもつマイクロサービス開発フレームワークです。
- GoFrame - GoFrameは、Go言語で構築されたモジュール化・強力・高性能・企業向けアプリケーション開発フレームワークです。
- Gone - Springにインスピレーションを受けて開発された軽量な依存関係注入およびWebフレームワーク。
- goravel - Laravelにインスピレーションを受けて開発されたWebフレーム及、ORM、認証、キュー、タスクスケジューリングなど、内蔵機能が豊富です。
- Goshtoso - Goアプリケーション向けのサーバーレンダリングUIコンポーネント。テンプレート、Tailwind CSS、HTMX、Alpine.jsで構築されています。
- Goyave - クリーンコードと高速開発を意識した、機能が充実したREST APIフレームワーク。強力な内蔵機能を備えています。
- Hertz - 高性能かつ強力な拡張性を持つGo HTTPフレームワーク。開発者がマイクロサービスを構築する際に役立ちます。
- hiboot - hibootは、自動設定と依存関係注入をサポートする高性能Webアプリケーションフレームワークです。
- httpsuite - Goで実装されたHTTPリクエストパーサーおよびRFC 9457問題応答。標準ライブラリのみで構成され、オプションのバリデーションを提供します。
- Huma - OpenAPI 3、生成されたドキュメント、CLIが内蔵された現代的なREST/GraphQL API用フレームワーク。
- iWF - iWFは、長期間実行されるビジネスプロセス開発に特化した一括プラットフォームです。データベース、ElasticSearch、メッセージキュー、持続可能なタイマーなど、多くのリソースを簡単に抽象化し、シンプルで使いやすいインターフェースを提供します。
- Lit - Go言語向けの高パフォーマンスかつ宣言型Webフレームワーク。シンプルさと開発者の生活の質を重視しています。
- Microservice - Go言語で構築されたマイクロサービス開発フレームワーク。
- NotNet - 軽量なGoフレームワーク。ミドルウェアと柔軟なルーティングを活用して、高速で使いやすいRESTful APIを構築できます。
- patron - パトロンは、クラウドのベストプラクティスを採用し、生産性を重視したマイクロサービスフレームワークです。
- Pnutmux - Pnutmuxは、HTTPリクエストのマッチングと処理に正規表現を使用する強力なGoウェブフレームワークです。CORS処理、構造化ログ、URLパラメータの抽出、ミドルウェア、並列制限といった機能を提供します。
- Revel - Go言語向けの高生産性ウェブフレームワークです。
- rk-boot - GinとgRPCを用いて企業向けGoマイクロサービスを迅速かつ簡単に構築できるブートストラッパーライブラリです。
- Ronykit - プラグインアーキテクチャを備えた、非常に高速なウェブフレームワークです。
- rux - シンプルで高速なGoウェブフレームワーク。Go言語のHTTPアプリケーションの構築に最適です。
- templui - Goとテンプレート向けの現代的なUIコンポーネントです。
- togo - GoバックエンドとReactフロントエンドを1つのバイナリとして提供するフルスタックフレームワーク。Laravel-アーティンのレベルのCLIを備えています。
- uAdmin - Djangoにインスパイアされた、Go言語向けの完全機能ウェブフレームドレームです。
- WebGo - ハンドラー連鎖、ミドルウェア、コンテキスト注入を用いてウェブアプリを構築するマイクロフレームワーク。標準ライブラリに準拠したHTTPハンドラー(つまり
http.HandlerFunc) - Xun - Goの標準的なhtml/templateとnet/httpパッケージのルーターをベースにしたウェブフレームワーク。軽量で高速であり、使いやすく、ミドルウェア、ルーティング、テンプレートレンダリングといった高度な機能を提供するシンプルで直感的なAPIを持っています。
- Yokai - シンプルでモジュール化され、観測可能なGoバックエンドフレームワークです。
ミドルウェア
実際のミドルウェア
- client-timing - Server-Timingヘッダー用のHTTPクライアントです。
- CORS - APIにCORS機能を簡単に追加できます。
- echo-middleware - Echoフレームワーク向けのログ記録とメトリクスを備えたミドルウェアです。
- formjson - JSON入力として標準フォームPOSTを透明に処理します。
- go-fault - Go向けの障害注入ミドルウェアです。
- Limiter - Go向けの極めてシンプルなレート制限ミドルウェアです。
- ln-paywall - Lightning Network(ビットコイン)を用いてAPIをリクエストごとに収益化するためのGoミドルウェアです。
- mid - その他HTTPミドルウェア機能:ハンドラから自然なエラー返却、JSONデータの受信・応答、リクエストトレースなど。
- rk-gin - Ginフレームワーク向けのログ記録、メトリクス、認証、トレースなどといったミドルウェアです。
- rk-grpc - gRPC向けのミドルウェア。ログ、メトリクス、認証、トレースなど。
- Tollbooth - HTTPリクエストのレート制限ハンドラー。
- XFF -
X-Forwarded-Forヘッダーおよびその他のものに対応
HTTPミドルウェア作成ライブラリ
- alice - Go向けのシンプルなミドルウェア連鎖。
- catena - http.Handlerのラッパー連結(“chain”と同じAPI)。
- chain - スコープデータを用いたハンドラーラッパー連鎖(net/contextベースの”ミドルウェア”)。
- gores - HTML、JSON、XMLなどレスポンスを処理するGoパッケージ。RESTフルAPIに便利。
- interpose - Go向けの極めてシンプルなnet/httpミドルウェア。
- mediary -
http.Clientにインターセプタを追加して、リクエスト/レスポンスのダンプ/形状変換/トレース/… を可能にする - muxchain - net/http向けの軽量ミドルウェア。
- negroni - Go向けの自然なHTTPミドルウェア。
- render - JSON、XML、HTMLテンプレートレスポンスを簡単にレンダリングできるGoパッケージ。
- renderer - シンプルで軽量かつ高速なレスポンス(JSON、JSONP、XML、YAML、HTML、ファイル)レンダリングパッケージ。
- stats - Webアプリケーションに関するさまざまな情報を保存するGoミドルウェア。
ルーター
- alien - 軽量かつ高速なhttpルーター(宇宙から生まれた)。
- bellt - シンプルなGo HTTPルーター。
- Bone - 超高速HTTPマルチプレクサ。
- Bxog - シンプルで高速なGo用HTTPルーター。ルートの難易度、長さ、ネスト構造に関わらず対応。受け取ったパラメータからURLを生成できる。
- chi - net/contextに基づく、小型で高速かつ表現力の高いHTTPルーター。
- fasthttprouter - 高性能なルーター。
httprouterからフォークされたもの。最初のfasthttpに最適化されたルーター - FastRouter - Goで書かれた高速で柔軟なHTTPルーター。
- Fox - 高パフォーマンスHTTPルーター。リバースプロキシやAPIゲートウェイの構築に最適。実行時におけるルートの変更に第一クラスのサポート。
- fursy - 型安全なジェネリックハンドラーを備えたHTTPルーター。コードから自動的にOpenAPI 3.1を生成し、RFC 94057エラー応答を提供。
- goblin - trie木を用いたGoのHTTPルーター
- gocraft/web - GoにおけるMuxおよびミドルウェアパッケージ
- Goji - Gojiは、
net/contextをサポートする最小限で柔軟なHTTPリクエストマルチプレクサです - GoLobby/Router - GoLobby Routerは、Goプログラミング言語向けの軽量かつ強力なHTTPルーターです
- goroute - シンプルでありながら強力なHTTPリクエストマルチプレクサ
- GoRouter - GoRouterは、サーバー/APIマイクロフレームワーク、HTTPリクエストルーター、マルチプレクサ、muxであり、ミドルウェアをサポートしており、をサポートしています
net/context - gowww/router - ネット/http.Handlerインターフェースと完全に互換性のある、非常に高速なHTTPルーター
- httprouter - 高性能ルーター。標準のhttpハンドラーと併用することで、非常に高性能なウェブフレームワークを構築できます
- httptreemux - 高速で柔軟な木構造ベースのGo用HTTPルーター。httprouterを参考にしています
- lars - 軽量で高速かつ拡張可能なゼロ割り当てHTTPルーター。カスタマイズ可能なフレームワークを作成するためにGoで使用されています
- mux - golang向けの強力なURLルーターおよびディスパッチャ
- nchi - httprouterに基づき、依存性注入ベースのミドルウェアラッパーで構成されたchiのようなルーター
- ngamux - Go向けのシンプルなHTTPルーター
- ozzo-routing - 非常に高速なGo(golang)HTTPルーターで、正規表現によるルートマッチングをサポート。RESTful APIの構築に完全なサポートを提供します
- pure - 標準の”net/http”実装に忠実な軽量HTTPルーターです
- Siesta - ミドルウェアとハンドラを書くためのコンポジブルなフレームワーク
- vestigo - パフォーマンスに優れた、スタンドアローンのHTTP準拠URLルーター。Goウェブアプリケーション向けです
- violetear - Go HTTPルーター
- xmux - 高性能なマルチプレクサ。
httprouterに基づき構築されたもので、net/contextのサポートあり - xujiajun/gorouter - Go向けのシンプルで高速なHTTPルーター
WebAssembly
- dom - DOMライブラリ
- Extism Go SDK - ユニバーサルで、複数言語に対応したWebAssemblyフレームワーク。プラグインシステムやマルチ言語アプリの構築に使用。
- go-canvas - HTML5 Canvasを使用するためのライブラリ。すべての描画処理がGoコード内で行われる。
- tinygo - 小型環境向けのGoコンパイラ。マイクロコントローラ、WebAssembly、コマンドラインツールに適用。LLVMをベースにした。
- vert - GoとJSの値間の相互運用。
- wasmbrowsertest - ブラウザ内でGoのWASMテストを実行。
- webapi - WebIDLから生成されたDOMおよびHTMLのバインディング。
Webhookサーバー
- HookRun - 軽量なWebhookアクションエンジン(1つのバイナリサイズ約3MB、依存関係なし)が、YAMLルールからコマンドやスクリプトを実行し、トークン/HMAC/IP認証とホットリロードをサポート。
- webhook - ユーザーがサーバー上でコマンドを実行するHTTPエンドポイント(ハック)を作成できるツール。
- webhooked - Webhook受信者としての強化版:ハンドリング、セキュリティ、フォーマット、保存を、これまで以上に簡単に行える。
- WebhookX - メッセージ受信、処理、確実に配信を行うWebhookゲートウェイ。
Windows
- d3d9 - Direct3D9に対するGoのバインディング。
- go-ole - golang向けのWin32 OLE実装。
- gosddl - SDDL文字列からユーザーに親しみやすいJSONへ変換。SDDLは4つの部分から構成される:所有者、主グループ、DACL、SACL。
- windowsupdate - Windows Update Agent APIに対するGoのバインディング(go-oleを使用)。
ワークフローフレームワーク
ワークフローフレームワークに関するGoライブラリ、ツール、または資料です。
- Cadence-client - Uberが開発したCadenceオーケストレーションエンジン上で実行されるワークフローとアクティビティを構築するためのフレームワーク。
- Dagu - ノーコードワークフロー実行者。シンプルなYAML形式で定義されたDAGを実行。
- Flowbaker - ノーコードワークフローの構築、接続、自動化を行うためのセルフホスト型実行エンジン。
- go-dag - 有向無サイクルグラフで記述されたワークフローの実行を管理するGoで開発されたフレームドローム。
- go-taskflow - タスクフローのような汎用タスク並列プログラミングフレームワーク。統合された可視化ツールとプロファイラーを備える。
- workflow - 技術スタックに依存しないイベント駆動型ワークフローフレームワーク。
XML
XMLに関するGoライブラリ、ツール、または資料です。
- XML-Comp - フォルダ、ファイル、タグの差分を生成するシンプルなコマンドラインXML比較ツール
- xml2map - Golangで書かれたXMLからMAPへの変換ツール
- xmlquery - xmlqueryはGolangのXPathパッケージです
- xmlwriter - libxml2のxmlwriterモジュールに基づくプロシージャルなXML生成API
- xpath - Go向けのXPathパッケージ
- zek - XMLからGo構造体を生成
ゼロトラスト
ゼロトラストに関するGoライブラリ、ツール、または資料です。
- Cosign - OCIレジストリにおけるコンテナ署名、検証、ストレージ
- in-toto - in-toto(ソフトウェアサプライチェーンの整合性を保護するためのフレームワーク)のPythonリファレンス実装をGoで実装
- OpenZiti - フルオープンソースのゼロトラストオーバーレイネットワーク。C#などの多くの言語に対応する多数のSDKを提供しており、アプリケーションにゼロトラストの原則を直接埋め込むことができます。には、多くの例が提供されており、その中にはも含まれています golang OpenZiti Test Kitchen zero trust ssh client - zssh
- Spiffe-Vault - Hashicorp Vaultと組み合わせたSpiffe JWT認証によるシークレットレス認証
- Spire - SPIRE(SPIFFEのランタイム環境)は、さまざまなホスティングプラットフォーム間のソフトウェアシステム間の信頼を確立するためのAPIツールチェーンです
コード解析
コード解析に関するGoライブラリ、ツール、または資料です。
- apicompat - Goプロジェクトの最近の変更をバックワード互換性のない変更としてチェック
- ast-metrics - Goおよびその他の言語向けの静的コード分析ツール:複雑度、結合度、連携度、維持性メトリクス、HTML、JSON、Markdown、SARIFレポートを提供
- asty - golang ASTをJSONに、JSONをASTに変換
- blanket - Goパッケージに直接ユニットテストがない関数を検出するためのツール
- ChainJacking - Go言語のGitHub直接依存関係のうち、チェーンジャッキング攻撃に脆弱なものを特定
- Chronos - 静的にレース条件を検出
- deadmono - deadcodeの検出をGoのモノリスリポジトリで行うためのラッパー
- dupl - コードクローン検出ツール
- errcheck - Goプログラムにおける未チェックエラーをチェックするためのプログラム
- fatcontext - ループや関数リテラル内のネストされたコンテキストを検出するツール
- go-checkstyle - checkstyleはJavaのcheckstyleに類するスタイルチェックツールです。このツールはJavaのcheckstyle、golintにインスピレーションを受けたもので、Goコードレビューのコメントに記載されたいくつかのポイントを指します。
- go-cleanarch - go-cleanarchは、依存性ルールやGoプロジェクト内のパッケージ間の相互作用を検証するためのClean Architecture規則を確認するツールです。
- go-critic - 現在他のリントツールに実装されていないチェックを提供するソースコードリントツールです。
- go-mod-outdated - Goプロジェクトの古くなった依存関係を簡単に見つけるためのツールです。
- goast-viewer - WebベースのGolang AST可視化ツールです。
- goimports - Goのインポートを自動的に追加・削除するためのツールです。
- golang-ifood-sdk - iFood API SDKです。
- golangci-lint – A fast Go linters runner. It runs linters in parallel, uses caching, supports
yamlconfig, has integrations with all major IDE and has dozens of linters included. - golines - Goコード内の長すぎる行を自動的に短くするフォーマッタです。
- gomarklint - HTTPリンクの検証を内蔵したMarkdownリントツール。単一バイナリで構成され、Node.jsは不要です。
- GoPlantUML - 構造とインターフェースの関係を含むテキストプラントゥムクラス図を生成するライブラリとCLIツールです。
- goreturns - 関数のリターン型に一致するゼロ値リターン文を追加します。
- gostatus - コマンドラインツールで、Goパッケージを含むリポジトリの状態を表示します。
- lint - go testの一部としてリントツールを実行します。
- php-parser - Goで書かれたPHPパーサーです。
- revive – ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for
golint. - staticcheck - staticcheckは、ReSharperなどのC#向けツールで使われる静的解析チェックを多く適用した
go vetです - structalign - 構造体のフィールドの並びを変更することでメモリ使用量を減らす方法を示し、ファイルを再構成するのではなく差分を表示します。
- stto - 純粋なGoで書かれた軽量かつ非常に高速なコード行数カウンターです。
- testifylint – A linter that checks usage of github.com/stretchr/testify.
- tickgit - CLIおよびGoパッケージで、コードコメントのTODOを表示(どの言語でも)し、
git blameを適用して著者を特定します - todocheck - コード内のTODOコメントを、問題トラッカーの問題とリンクする静的コード分析ツールです。
- unconvert - Goソースコードから不要な型変換を削除します。
- usestdlibvars - Go標準ライブラリの変数や定数を使用できる可能性を検出するリントツールです。
- vacuum - 超軽量かつ超高速なOpenAPIリントツキーツールおよび品質チェックツールです。
- validate - 構造体のフィールドにタグが付いている場合、自動的にバリデーションを行う
- wrapcheck - 外部パッケージからのエラーがラップされているかをチェックするlintツール
エディタープラグイン
エディタープラグインに関するGoライブラリ、ツール、または資料です。
- coc-go language server extension for Vim/Neovim - このプラグインはVim/Neovimにgopls機能を追加します
- Go Doc - 出力に定義を表示し、Goドキュメントを生成するVisual Studio Code拡張機能
- Go plugin for JetBrains IDEs - JetBrains IDE向けのGoプラグイン
- go-mode - GNU/Emacs向けのGoモード
- gocode - Goプログラミング言語用の自動補完デーモン
- goimports-reviser - インポートのフォーマットツール
- goprofiling - この拡張機能は、VS CodeにGo言語のベンチマークプロファイリングを追加する
- GoSublime - SublimeText 3向けのGolangプラグインコレクションで、コード補完などIDEのような機能を提供
- gounit-vim - 関数やメソッドの署名に基づいてGoテストを生成するVimプラグイン
- vim-compiler-go - 保存時に構文エラーをハイライトするVimプラグの機能
- vim-go - Vim向けのGo開発プラグイン
- vscode-go - Visual Studio Code(VS Code)向けのGo言語サポートを提供する拡張機能
- Watch - ファイル変更時にacmeウィンドウでコマンドを実行
Go generateツール
- envdoc - Goソースファイルから環境変数のドキュメントを生成
- generic - Go向けの柔軟なデータ型
- gocontracts - ドキュメントとコードを同期させることでGoに設計による契約を導入
- godal - SQL DDLファイルを指定することでGolangに応じたORMモデルを生成し、GORMで使用可能にする
- gonerics - Goにおける自然なジェネリクス
- gotests - ソースコードからGoテストを生成
- gounit - 自分のテンプレートを使ってGoのテストを生成します。
- hasgo - スライスに対してハスケル風の関数を生成します。
- oapixconstgen - OpenAPI仕様のx-constants拡張から型付きGo定数を生成します。
- options-gen - デイブ・チェニーの「フレンドリーなAPI向けの機能オプション」に記述された機能オプションについての説明。
- re2dfa - 正規表現を有限状態機械に変換し、Goソースコードを出力します。
- sqlgen - SQLファイルまたはDSNからgorm、xorm、sqlx、bun、sqlコードを生成します。
- TOML-to-Go - ブラウザ上でTOMLをGo型に即座に変換します。
- xgen - XSD(XMLスキーマ定義)パーサーおよびGo/C/Java/Rust/TypeScriptコード生成器。
Goツール
- decouple - 「過剰に指定された」関数パラメータを検出し、インターフェース型で一般化できるかを確認します。
- docs - GOプロジェクト向けにOpen API規格に準拠したRESTフルAPIドキュメントを自動生成します。
- go-callvis - Goプログラムの呼び出しグラフをdot形式で可視化します。
- go-size-analyzer - コンパイルされたGolangバイナリ内の依存関係のサイズを分析・可視化し、最終ビルドへの影響を明らかにします。
- go-swagger - Go向けのSwagger 2.0実装。SwaggerはRESTフルAPIをシンプルかつ強力に表現するものです。
- go-template-playground - Goテンプレートを作成・テストするためのインタラクティブ環境。
- godbg - Rustの
dbg!マクロの実装により、開発中のデバッグを迅速かつ簡単に実行できます - gofindimpl - コードベース内で指定されたGoインターフェースを実装しているすべての構造体を検出します。
- gomodrun - go.modファイルに含まれるバイナリを実行・キャッシュするGoツール。
- gotemplate.io - オンラインツールで
text/templateテンプレートをリアルタイムでプレビューできます - gotestdox - Goテスト結果を読みやすい文として表示します。
- gothanks - GoThanksはgo.mod内のGitHub依存ライブラリを自動的にスターし、そのメンテナーに愛を届けます。
- gotutor - オンラインGoデバッガおよび可視化ツール。
- govisual - ローカルGoウェブ開発向けのゼロ設定、純GoのHTTPリクエスト可視化・デバッガ。
- igo - イゴをGoに変換するトランスパイラ(Go言語の新しい機能!)
- lensm - Goアセンブリとソースコードの閲覧ツール
- modver - Goモジュールの2バージョンを比較し、必要となるバージョン番号の変更(重大、マイナー、パッチレベル)をsemverのルールに基づいて確認します
- MoniGO - Goアプリケーション向けパフォーマンスモニタリングライブラリ。リアルタイムでアプリケーションパフォーマンスを把握できます!🚀
- OctoLinker - GitHubのOctoLinkerブラウザ拡張機能でGoファイルを効率的にナビゲート
- richgo -
go testの出力にテキスト装飾を追加します - roumon - コマンドラインインターフェースで現在のすべてのgoroutineの状態を監視
- rts - RTS: structへの応答。サーバー応答からGo構造体を生成
- textra - Go構造体のフィールド名、型、タグを抽出し、フィルタリングやエクスポートに使用
- typex - Go型とその推移依存関係を確認、または結果をTypeScriptの値オブジェクト(または型)宣言としてエクスポート
ソフトウェアパッケージ
ソフトウェアパッケージに関するGoライブラリ、ツール、または資料です。
DevOpsツール
- abbreviate - abbreviateは、長さの長い文字列を設定可能な分離子で短くするツール。たとえば、ブランチ名をデプロイメントスタックIDに埋め込む場合など
- alaz - 低負荷、eBPFベースのKubernetesモニタリング
- aptly - aptlyはDebianリポジトリ管理ツール
- aurora - クロスプラットフォームのWebベースのBeanstalkdキューサーバーコンソール
- aws-doctor - AWSコストを診断し、無駄なリソースを検出、クラウド支出を最適化するツール(ターミナルから直接)🩺 ☁️
- awsenv - Amazon(AWS)環境変数をプロファイルで読み込むための小さなバイナリ
- Balerter - セルフホスト型のスクリプトベースのアラート管理ツール
- Blast - API負荷テストやバッチジョブに使うシンプルなツール
- bombardier - 高速なクロスプラットキットHTTPベンチマークツール
- cassowary - Goで書かれた現代的なクロスプラットフォームHTTP負荷テストツール
- chaosmonkey - アプリケーションがランダムなインスタンスの障害に耐えられるように支援するリシーバリティツール
- colima - macOS(およびLinux)向けのコンテナランタイム(最小設定で導入)
- Ddosify - 高パフォーマンスのロードテストツール(Golangで構築)
- decompose - Dockerコンテナの接続グラフを生成・処理するツール
- Den - AIエージェント向けのセルフホスト型サンドボックスランタイム。オープンソースのE2B代替ツール
- DepCharge - 大きなプロジェクトにおける多くの依存関係間のコマンド実行をオーケストレーションするツール
- dish - 軽量でリモート設定可能なモニタリングサービス
- Docker - 開発者およびシステム管理者向けの分散アプリケーション向けオープンプラットフォーム
- docker-go-mingw - Windows向けのGoバイナリをビルドするためのDockerイメージ(MinGWツールチェーンを使用)
- docker-volume-backup - ローカルまたはS3、WebDAV、Azure Blob Storage、Dropbox、またはSSH対応ストレージにDockerボリュームをバックアップ
- Dockerfile-Generator - さまざまな入力チャンネルを使用して有効なDockerファイルを生成するGoライブラリと実行可能ファイル
- dogo - ソースファイルの変更をモニタリングし、自動的にコンパイル・実行(再起動)を行う
- drone-jenkins - バイナリ、Docker、またはDrone CIを使用して、下流のJenkinsジョブをトリガーする
- drone-scp - バイナリ、Docker、またはDrone CIを使用して、SSH経由でファイルとアーティファクトをコピーする
- Dropship - CDNを介してコードをデプロイするツール
- easyssh-proxy - Goパッケージで、SSHおよびSCP経由のリモート実行を簡単に行えます。
ProxyCommandを用いてダウンロードします - fac - gitマージコンフリクトを解決するためのコマンドラインインターフェース
- Flannel - FlannelはKubernetes向けのコンテナ用ネットワークファブリック
- Fleet device management - サーバーおよびワークステーション向けの軽量かつプログラマブルなテレメトリ
- gaia - 任意のプログラミング言語で強力なパイプラインを構築できる
- ghorg - GitHub、GitLab、Gitea、Bitbucketのすべての組織/ユーザーリポジトリを1ディレクトリにクローンできる(迅速に)
- Gitea - Gogsのフォークで、完全にコミュニティが運営している
- gitea-github-migrator - すべてのGitHubリポジトリ、イシュー、マイルストーン、ラベルをGiteaインスタンスに移行する
- gitl - AIによるgitコミット範囲のレビュー(リスクスコア:低/中/高)、変更ログの生成、複数リポジトリの活動要約。GitHub Actionが含まれています。
- go-furnace - Goで書かれたホスティングソリューション。AWS、GCP、DigitalOcean上でアプリケーションのデプロイを簡単に行えます。
- go-rocket-update - シンプルな方法でセルフアップデート可能なGoアプリケーションを作成。GitHubおよびGitlabに対応。
- go-selfupdate - Goアプリケーションにセルフアップデート機能を付与します。
- gobrew - gobrewは、複数バージョンのGoを簡単に切り替えできるツールです。
- gobrew - Goバージョンマネージャー。Goのインストールと管理に非常にシンプルなツール。rootなしでGoをインストール可能。gobrewはシェルのリハッシュを必要としません。
- godbg - ウェブベースのgdbフロントエンドアプリケーション。
- Gogs - Goプログラミング言語で構築されたセルフホスト型Gitサービス。
- goma-gateway - 宣言型設定、強固なミドルウェア、REST、GraphQL、TCP、UDP、gRPCに対応する軽量APIゲートウェイおよびリバースプロキシ。
- gonative - Goのビルドツールで、すべてのプラットフォームにクロスコンパイルできるビルドを作成し、stdlibパッケージのCgo対応バージョンを使用する。
- govvv - 「go build」のラッパーとして、Goバイナリにバージョン情報を簡単に追加できる。
- grapes - SSH経由でコマンドを簡単に配布するための軽量ツール。
- GVM - GVMはGoバージョンの管理にインターフェースを提供します。
- Hey - Heyは、ウェブアプリケーションに負荷を送るための小さなプログラム。
- httpref - httprefは、HTTPメソッド、ステータスコード、ヘッダー、TCPおよびUDPポートに関する便利なCLIリファレンス。
- jcli - Jenkins CLIは、Jenkinsを簡単に管理できるツールです。
- k0s - 摩擦のないKubernetesディストリビューション。
- k3d - CNCFのk3sをDockerで簡単に実行するための小さなヘルパー。
- k3s - 軽量なKubernetes。
- k6 - GoとJavaScriptを使用した現代的な負荷テストツール。
- k9s - Kubernetes CLI でクラスタをスタイリッシュに管理します
- kala - シンプルで現代的かつパフォーマンスの高いジョブスケジューラ
- kcli - Kafka のトピック/パーティション/メッセージを確認するコマンドラインツール
- kepfi - rm へのスマートな代替ツールで復旧バインとストレージトラッキング機能を備えています
- kind - Kubernetes IN Docker - Kubernetes のローカルクラスタ用のテスト環境
- ko - Kubernetes で Go アプリケーションを構築・デプロイするコマンドラインツール
- kool - Docker 環境を管理するコマンドラインツール(簡単な方法)
- kubeblocks - KubeBlocks は、K8s 上でデータベース、メッセージキュー、その他データインフラを実行・管理するオープンソースのコントロールプレーンです
- kubefwd - サービスごとに一意のIPを割り当てた、大量のKubernetesポートフォワーディングを実現するローカル開発用ツール
- kubernetes - Googleから提供されるコンテナクラスタマネージャー
- kubeshark - Kubernetes向けAPIトラフィックアナライザ、Wiresharkをインスピレーションに受けて、Kubernetesに特化して設計されています
- KubeVela - クラウドネイティブアプリケーションデリバリー
- KubeVPN - KubeVPN は、Kubernetesクラスタネットワークにシームレスに接続されるクラウドネイティブ開発環境を提供します
- KusionStack - 現代的なアプリケーションを「プラットフォームアスコード」と「インフラアスコード」アプローチで提供する統合可能なプログラマブル設定技術スタック
- kwatch - Kubernetes(K8s)クラスタ内のクラッシュを即座に監視・検出
- lstags - 異なるレジストリ間のDockerイメージを同期するツールおよびAPI
- lwc - UNIXのwcコマンドのリアルタイムアップデートバージョン
- manssh - manssh は、SSHアリア設定を簡単に管理するコマンドラインツールです
- Mantil - AWS上でサーバレスアプリケーションを構築するためのGo専用フレームワーク。純粋なGoコードに集中できるようにし、Mantilがインフラを管理します
- minikube - ローカルでKubernetesを実行します
- Moby - コンテナエコシステムにおける協働プロジェクトで、コンテナベースのシステムを構成するもの。
- Mora - MongoDBドキュメントおよびメタデータにアクセスするRESTサーバー。
- ostent - システムメトリクスを収集・表示し、オプションでGraphiteおよび/またはInfluxDBに転送。
- Packer - Packerは、1つのソース構成から複数のプラットフォーム向けに同一のマシンイメージを作成するツール。
- Pewpew - 柔軟なHTTPコマンドラインストレステストツール。
- pingtower - ウェブサイトおよびAPI向けの軽量かつ自己ホスト可能な稼働状態モニタリングツール。
- PipeCD - GitOpsスタイルの継続デリバリープラットフォームで、どのアプリケーションにも一貫したデプロイおよび運用体験を提供。
- podinfo - PodinfoはGoで作成された小さなウェブアプリケーションで、Kubernetesにおけるマイクロサービスの運用におけるベストプラクティスを示すもの。PodinfoはFluxやFlaggerといったCNCFプロジェクトで、端末から端末までテストおよびワークショップに使用。
- podman-tui - Podmanの管理用のテラミナルUI。
- Pomerium - Pomeriumは、識別情報に依存したアクセスプロキシ。
- Rodent - RodentはGoバージョンやプロジェクトの管理、依存関係の追跡を支援するツール。
- s3-proxy - GET、PUT、DELETEメソッドと認証(OpenID ConnectおよびBasic Auth)を備えたS3プロキシ。
- s3gof3r - 大規模なオブジェクトをAmazon S3に高速転送するための小型ユーティリティ/ライブラリ。
- s5cmd - 非常に高速なS3およびローカルファイルシステムの実行ツール。
- Scaleway-cli - BareMetalサーバーをコマンドラインで管理(Dockerと同様に簡単)。
- script - DevOpsおよびシステム管理タスクに、シェル風のGoスクリプトを書くことを容易にする。
- sg - HTTPエンドポイント(例:ab)のセットをベンチマークし、各呼び出し間の応答コードおよびデータを前回の応答に基づいてサーバーの負荷を特定できる。
- sigma - OCIネイティブなコンテナイメージレジストリで、OCIネイティブなアーティファクト、アーティファクトのスキャン、イメージのビルドなどをサポート。
- skm - SKMはシンプルかつ強力なSSH鍵マネージャーであり、複数のSSH鍵を簡単に管理できる。
- StatusOK - ウェブサイトおよびREST APIの監視。サーバーが停止しているか、応答時間が予想より長い場合に、SlackやEメールで通知。
- tau - サーバレスWebAssembly関数、フロントエンドホスティング、CI/CD、オブジェクトストレージ、K/Vデータベース、パブリッシュ・サブスクリプションメッセージングといった機能を備えたクラウドコンピューティングプラットフォームを簡単に構築できます
- terraform-provider-openapi - OpenAPIドキュメント(以前はSwaggerファイルと呼ばれていた)に記載されたAPI定義に基づき、実行時において動的に自身を構成するTerraformプロバイダープラグイン
- tf-profile - Terraformの実行プロファイリングツール。グローバル統計、リソースレベルの統計、または可視化を生成します
- tickstem/uptime - SSL有効期限アラートと設定可能なレスポンス確認を含むHTTPの稼働状態モニタリング用Goクライアント
- tlm - ローカルCLIコピロップ、CodeLLaMaによって駆動
- traefik - 複数のバックエンドをサポートするリバースプロキシとロードバランサ
- trubka - Apache Kafkaクラスタの管理およびトラブルシューティングを行うCLIツールで、プロトコルバッファおよびテキストイベントをKafkaに一般に送受信できる
- Updatecli - ユニバーサルな宣言型更新ポリシーエンジン
- uTask - YAMLに記述されたビジネスプロセスをモデル化・実行する自動化エンジン
- Vegeta - HTTP負荷テストツールおよびライブラリ。9000以上!
- wait-for - コマンドラインから何かが起こるまで待機してから続行。Dockerサービスなど他のものを簡単にオーケストレーションできます
- Wide - Golangを使用したチーム向けのウェブベースIDE
- winrm-cli - Windowsマシン上でリモートにコマンドを実行するCLIツール
- zerohand - WebAPI向けのシンプルかつ効率的な負荷テストツール
その他のソフトウェア
- Backrest - resticバックアップ用のウェブベースUIおよびオーケストレーター
- Better Go Playground - シンタックスハイライト、コード補完など他の機能を備えたGoプレインド
- blocky - ローカルネットワークのアドブロッカーとして、多くの機能を備えた高速かつ軽量なDNSプロキシ
- bluetuith - Linux用のTUI Bluetoothマネージャ
- borg - bashスニペット向けのターミナルベースの検索エンジン
- boxed - Dropboxベースのブログエンジン
- Chapar - チャパールは、Goで構築されたクロスプラットフォームのPostmanの代替品であり、開発者がAPIエンドポイントをテストするのを支援する目的で作られた。HTTPおよびgRPCプロトコルをサポートしている。
- Cherry - Goで書かれたミニウェブチャットサーバー。
- chicha-isotope-map - 自前で運用可能な公開放射線マップ。測定データのインポート、解析、可視化を行うためのツール。
- Circuit - Circuitは、クラウドアプリケーションを構成するサービスおよびホストの管理、発見、同期、オーケストレーションを行うためのプログラマブルなプラットフォーム-as-a-service(PaaS)および/またはインフラストラクチャ-as-a-service(IaaS)。
- Comcast - 悪いネットワーク接続をシミュレートする。
- confd - etcdまたはconsulからテンプレートとデータを取得して、ローカルアプリケーションの設定ファイルを管理する。
- crawley - CLI用のウェブスクレイピング/クロールツール。
- croc - 1台のコンピュータから別のコンピュータへファイルやフォルダを簡単にかつ安全に送信する。
- CrunchyCleaner - WindowsおよびLinux向けの軽量ソフトウェアキャッシュクリーンアップツール。
- Documize - SaaSツールからのデータを統合した現代的なWikiソフトウェア。
- dp - ブロックチェーンとのデータ交換を可能にするSDKにより、開発者はDAPP開発に簡単にアクセスできる。
- drive - コマンドライン用のGoogle Driveクライアント。
- Duplicacy - ロックフリーの重複除去の理念に基づいたクロスプラットフォームのネットワークおよびクラウドバックアップツール。
- fjira - Attlasian Jira向けのファジー検索ベースのターミナルUIアプリケーション。
- Gebug - Docker化されたGoアプリケーションのデバッグを非常に簡単かつ安全に実現するツール。デバッガーやホットリロード機能を提供する。
- gfile - WebRTCを用いて、2台のコンピュータ間で第三者なしにファイルを安全に転送する。
- Go Package Store - あなたのGOPATH内のGoパッケージのアップデート情報を表示するアプリ。
- go-peerflix - ビデオストリーミング用のトーテンクライアント。
- goblin - Go言語で書かれたCLI用のクラウドビルダー。
- GoBoy - Goで書かれたニンテンドーゲームボーイカラーのエミュレーター。
- gocc - GoccはGoで書かれたGo用コンパイラキットです
- GoDocTooltip - Goドキュメントサイト向けのChrome拡張機能で、関数リスト上に関数の説明をツールチップとして表示します
- Gokapi - ダウンロード回数または日数に設定された数値後に期限が切れるファイル共有サーバー。Firefox Sendに類似していますが、公開アップロードは不要です
- GoLand - フル機能のマルチプラットフォームGo IDE
- GoNB - JupyterノートブックによるインタラクティブなGoプログラミング(VSCode、Binder、GoogleのColabでも動作)
- GooseForum - Go、Vue、Tailwind CSSで構築されたセルフホスト型フォーラムプラットフォーム
- Gor - プロダクション環境からステージ/開発環境へのHTTPトラフィックをリアルタイムで再現するツール
- Guora - Goで構築されたQuoraのようなセルフホスト型ウェブアプリケーション
- hoofli - ChromeまたはFirefoxのネットワーク調査からPlantUML図を生成します
- hotswap - Goコードを再読み込みできる完全なソリューションで、サーバーの再起動を必要とせず、進行中のプロセスを中断またはブロックしません
- hugo - 高速かつ現代的な静的ウェブサイトエンジン
- ide - ブラウザにアクセス可能なIDE。Go向けに設計されています
- joincap - 複数のpcapファイルを結合するコマンドラインツール
- JuiceFS - RedisとAWS S3に基づく分散POSIXファイルシステム
- Juju - クラウドに依存しないサービスのデプロイとオーケストレーション - EC2、Azure、Openstack、MAASなどに対応
- Layli - コードで美しいレイアウト図を描画します
- Leaps - オペレーショナルトランスフォームを用いたペアプログラミングサービス
- lgo - JupyterによるインタラクティブなGoプログラミン。コード補完、コード検証、100%Go互換をサポートします
- LightCMS - 静的ページ生成、役割ベースのアクセス制御、エージェント駆動コンテンツ操作用MCPサーバーを備えたセルフホスト型コンテンツ管理システム
- limetext - Lime Textは、Sublime Textの無料かつオープンソースな後継として設計された、Goで主に開発された強力で美しいテキストエディタです
- LiteIDE - LiteIDEはシンプルでオープンソースかつプラットフォームを越えて使えるGoのIDEです
- mac-cleanup-go - macOSのキャッシュ、ログ、一時ファイルをクリーンするためのプレビューファーストのTUI
- mdv - ブラウザにMarkdownファイルをレンダリングし、リアルタイムリロード、GFM、文法強調、Mermaid図、PDF出力に対応するCLIツール
- mockingjay - 1つの設定ファイルでフェイクHTTPサーバーとコンシューマー駆動の契約を作成。サーバーがランダムに誤動作するように設定することで、より現実的なパフォーマンステストを実施できます
- myLG - Goで書かれたコマンドラインネットワーク診断ツール
- naclpipe - Goで書かれたシンプルなNaCL EC25519ベースの暗号パイプツール
- Neo-cowsay - 🐮 cowsayは新時代へと生まれ変わりました
- nes - Goで書かれたNintendo Entertainment System (NES) エミュレーター
- onWatch - AI APIのクォータを複数プロバイダーでローカルに監視し、履歴記録、アラート、ウェブダッシュボードを提供することで、予期せぬ制限や予算超過を回避
- Orbit - テンプレートからコマンドを実行し、ファイルを生成するためのシンプルなツール
- peg - Peg、パーサー表現文法、はパッカー解析器生成器の実装です
- Plik - PlikはGoで書かれた一時ファイルアップロードシステム(Wetransferのような)
- portal - Portalは、どのコンピュータからでも別のコンピュータへファイルを転送できるシンプルで使いやすいコマンドラインツール
- restic - 重複を削除するバックアッププログラム
- sake - sakeはローカルおよびリモートホストでのコマンド実行を行うツール
- scc - Sloc Cloc and Codeは、非常に高速かつ正確なコードカウンターで、複雑性計算やCOCOMOの見積もりも可能です
- Seaweed File System - O(1)ディスクシークを実現する高速でシンプルかつスケーラブルな分散ファイルシステム
- shell2http - HTTPサーバーを介してシェルコマンドを実行(プロトタイピングやリモート制御用)
- Snitch - Tsuruでアプリケーションをデプロイした際に、チームや多くのツールに通知するシンプルな方法
- sonic - SonicはGoによるブログプラットフォーム。シンプルで強力です
- Stack Up - スタックアップは、極めてシンプルなデプロイメントツールです。Unixのみで構成されたもので、サーバーのネットワークに「make」のようなものと見なせます。
- stew - コンパイル済みバイナリ用の独立したパッケージマネージャー。
- syncthing - オープンで分散型のファイル同期ツールおよびプロトコル。
- tcpdog - eBPFをベースとしたTCP観測ツール。
- tinycare-tui - 24時間以内および週間のGitコミット、現在の天気、自己ケアのアドバイス、ジョーク、そして現在のタスクリストを表示する小さなターミナルアプリ。
- tldx - RDAP、DNS、WHOISのフォールバックを用いて、ドメインの利用可否を一括でチェックするツール。キーワードの並べ替えによる生成。
- toxiproxy - 自動テスト用のネットワークおよびシステム条件をシミュレートするプロキシ。
- tsuru - 拡張可能でオープンソースのプラットフォームとしてのサービスソフトウェア。
- vaku - Vaultにおけるフォルダベースの機能(コピー、移動、検索など)に用いるCLIおよびAPI。
- vFlow - 高パフォーマンスでスケーラブルかつ信頼性の高いIPFIX、sFlowおよびNetflowのコレクタ。
- Wave Terminal - Waveは、AIネイティブなターミナルであり、開発者のワークフローをスムーズにし、インラインレンダリング、現代的なUI、そして持続的なセッションを提供します。
- wellington - Sassプロジェクト管理ツール。スプライト関数(Compassのように)を言語に拡張。
- woke - ソースコード内の非包括言語を検出するツール。
- yai - AIを活用したターミナルアシスタント。
- zs - 非常にシンプルな静的サイトジェネレーター。
資料
資料に関するGoライブラリ、ツール、または資料です。
ベンチマーク
- autobench - 異なるGoバージョン間のパフォーマンスを比較するためのフレームワーク。
- go-benchmark-app - 強力なHTTPベンチマークツール。Аb、Wrk、Siegeツールを組み合わせ、ベンチマークおよび比較結果の統計と各種パラメータを収集。
- go-benchmarks - いくつかの言語機能と代替アプローチを比較するためのGoのマイクロベンチマーク。
- go-http-routing-benchmark - GoのHTTPリクエストルーターのベンチマークおよび比較。
- go-json-benchmark - GoのJSONベンチマーク。
- go-ml-benchmarks - Goにおける機械学習推論のベンチマーク
- go-web-framework-benchmark - Goウェブフレームワークのベンチマーク
- go_serialization_benchmarks - Goのシリアライゼーション手法に関するベンチマーク
- gocostmodel - Go言語の基本操作に関する一般的なベンチマーク
- golang-benchmarks - golangのベンチマークを収集した一覧
- gospeed - Go言語構文の実行速度を測定するマイクロベンチマーク
- kvbench - キーバリューデータベースのベンチマーク
- skynet - Skynet 1Mスレッドマイクロベンチマーク
- speedtest-resize - Go言語における画像リサイズアルゴリズムの比較
- vizb - Goベンチマークデータを4次元で可視化するCLIツール
カンファレンス
- GoCon - 日本、東京
- GoDays - ドイツ、ベルリン
- GoLab - イタリア、フロレンス
- GopherCon - 毎年異なる場所、アメリカ
- GopherCon Africa - ケニア、ナイロビ
- GopherCon Australia - オーストラリア、シドニー
- GopherCon Brazil - ブラジル、フロリアンポリス
- GopherCon China - 中国、上海
- GopherCon Europe - ドイツ、ベルリン
- GopherCon India - インド、パンジュ
- GopherCon Israel - イスラエル、テルアビブ。
- GopherCon Russia - ロシア、モスクワ。
- GopherCon Singapore - シンガポール、マップルツリー・ビジネス・シティ。
- GopherCon UK - イギリス、ロンドン。
- GopherCon Vietnam - ベトナム、ホ・チ・ミン・シティ。
- GoWest Conference - アメリカ、リーヒ。
電子書籍
有料電子書籍
- 100 Go Mistakes: How to Avoid Them
- Black Hat Go - ハッカーとペンテスター向けのGoプログラミング。
- Build an Orchestrator in Go
- Continuous Delivery in Go - この実践的な継続デリバリーガイドは、テスト、コード品質、最終製品の改善を迅速に実現する自動パイプラインの構築方法を示します。
- Creative DIY Microcontroller Project With TinyGo and WebAssembly - ArduinoおよびWebAssemblyを用いたプロジェクトを含む、TinyGoコンパイラへの導入。
- Effective Go: Elegant, efficient, and testable code - Goのプログラム設計における独自の視点を解き明かし、シンプルで維持性・テスト性の高いGoコードを書くことを始めましょう。
- For the Love of Go - Go初心者向けの入門書。
- Go in Practice, Second Edition - Go開発のすべての側面を実践的に解説したガイド。Goの標準ライブラリおよび強力なエコシステムから最も重要なツールをカバー。
- Know Go: Generics - Goのジェネリクスを理解し活用するためのガイド。
- Lets-Go - Goを用いた高速で安全かつ維持性の高いウェブアプリケーションをステップバイステップで作成するガイド。
- Lets-Go-Further - GoでAPIおよびウェブアプリケーションを構築するための高度なパターン。
- The Power of Go: Tests - Goでのテスト手法を解説するガイド。
- The Power of Go: Tools - Goでコマンドラインツールを書くためのガイド。
- Writing A Compiler In Go
- Writing An Interpreter In Go - 数十の技術を解説し、よくある険を避けながら、自然で表現力があり効率的なGoコードを書くための技術を紹介する書籍。
無料電子書籍
- A Go Developer’s Notebook
- An Introduction to Programming in Go
- Build a blockchain from scratch in Go with gRPC - GoとgRPCを用いて、ゼロからブロックチェーンを効果的に学び、段階的に構築するための基礎的かつ実践的なガイド。
- Build Web Application with Golang
- Building Web Apps With Go
- Go 101 - Goの文法・意味論およびすべての細部について解説する書籍。
- Go AST Book (Chinese) - Goの
go/*パッケージに焦点を当てた書籍 - Go Faster - この本は、あなたの学習を短くし、Goプログラマーとしてのスキルを早く身につけることを目的としています。
- Go Succinctly - ペルシャ語で。
- Go with the domain - 実際のリファクタリングをもとに、DDD、Clean Architecture、CQRSをどのように適用するかを示す本。
- GoBooks - Goに関する素晴らしい本の厳選リスト。
- How To Code in Go eBook - 初めての開発者向けの600ページのGo入門書。
- Learning Go
- Network Programming With Go
- Practical Go Lessons
- Spaceship Go A Journey to the Standard Library
- The Go Programming Language
- The Golang Standard Library by Example (Chinese)
- The Little Go Book
- Web Application with Go the Anti-Textbook
Gopher
- Free Gophers Pack - Maria LettaによるGopherグラフィックスパック。ベクターやレターアイコンに感情を込めたイラストが含まれています。
- Go-gopher-Vector - Go gopher ベクターデータ(.ai, .svg)。
- gopher-logos - かわいいGopherロゴ。
- gopher-stickers
- gophericons
- gopherize.me - 自分をGopher化する。
- gophers - Ashley McNamaraによるGopherアート作品。
- gophers - 無料のGopher。
- gophers - ランダムなGopherグラフィックス。
- gophers - Gopherアミグウミのぬいぐるみパターン。
- gophers - Aurélie VacheによるGopher作品。
ミートアップ
- Basel Go Meetup
- Belfast Gophers
- Belgrade Golang Meetup
- Berlin Golang
- Brisbane Gophers
- Bärner Go Meetup - Berne, Switzerland
- Go Ireland - Dublin
- Go Language NYC
- Go London User Group
- Go Remote Meetup
- Go Toronto
- Go User Group Atlanta
- GoBandung
- GoBridge, San Francisco, CA
- GoCracow - Krakow, Poland
- GoJakarta
- Golang Amsterdam
- Golang Argentina
- Golang Athens
- Golang Baltimore, MD
- Golang Bangalore
- Golang Belo Horizonte - Brazil
- Golang Boston
- Golang Bulgaria
- Golang Cardiff, UK
- Golang Copenhagen
- Golang Curitiba - Brazil
- Golang DC, Arlington, VA
- Golang Dorset, UK
- Golang Estonia
- Golang Gurgaon, India
- Golang Hamburg - Germany
- Golang Israel
- Golang Kathmandu
- Golang Lima - Peru
- Golang Lyon
- Golang Marseille
- Golang Melbourne
- Golang Milano
- Golang North East
- Golang Paris
- Golang Poland
- Golang Pune
- Golang Roma
- Golang Rotterdam
- Golang Singapore
- Golang Stockholm
- Golang Sydney, AU
- Golang São Paulo - Brazil
- Golang Taipei
- Golang Thessaloniki
- Golang Torino
- Golang Turkey
- Golang Vancouver, BC
- Golang Vienna, Austria
- Golang Москва
- GoSF - San Francisco, CA
- Istanbul Golang
- Lagos Gophers
- Nairobi Gophers
- Seattle Go Programmers
- Ukrainian Golang User Groups
- Utah Go User Group
- Women Who Go - San Francisco, CA
- Zürich Gophers - Zurich, Switzerland
ミートアップに関するGoライブラリ、ツール、または資料です。
スタイルガイド
ソーシャルメディア
Webサイト
- Awesome Go @LibHunt - あなたのGoツールボックス。
- Awesome Golang Workshops - 素晴らしいGoワークショップの厳選リスト。
- Awesome Remote Job - 素晴らしいリモートジョブの厳選リスト。その多くはGoのプロフェッショナルを求めており、非常に魅力的です。
- awesome-awesomeness - 他の驚異的な素晴らしいリストのリスト。
- awesome-go-extra - awesome-goのREADMEファイルをパースし、リポジトリ情報とともに新しいREADMEファイルを生成する。
- Code with Mukesh - codewithmukesh.comのソフトウェアエンジニアとブログ。
- Coding Mystery - Goを用いて、アドベンチャーゲーム風のプログラミングチャレンジを解く
- CodinGame - 小さなゲームを用いたインタラクティブなタスクでGoを学ぶ
- Go Blog - Goの公式ブログ
- Go Code Club - ゴーファーたちが週に1回、異なるGoプロジェクトを読み、議論する
- Go Community on Hashnode - Hashnode上のゴーファーのコミュニティ
- Go Forum - Goについてのディスカッションフォーラム
- Go Projects - Goコミュニティウィキ上のプロジェクト一覧
- Go Proverbs - ロブ・パイクによるGoの格言
- Go Report Card - あなたのGoパッケージに対する評価書
- go.dev - Go開発者のためのハブ
- gocryforhelp - Goで助けが必要なプロジェクトのコレクション。Goにおけるオープンソースへの入り口として良い場所。
- Golang Developer Jobs - Golang関連の職務のみを提供する開発者求人
- Golang News - Goプログラミングに関するリンクとニュース
- Golang Nugget - 毎月月曜日にあなたのメールに届く、最も優れたGoコンテンツの週間まとめ
- Golang Weekly - 月曜日にGoに関するプロジェクト、チュートリアル、記事を提供
- golang-nuts - Goメールリスト
- Gopher Community Chat - Gophers向けの新しいSlackコミュニティに参加(Understand how it came)
- Gophercises - 初心者向けの無料コード練習
- json2go - 高度なJSONからGo構造体への変換 - オンラインツール
- justforfunc - Francesc Campoyが運営するGoプログラミング言語のヒントとコツを紹介するYouTubechannel(@francesc)
- Learn Go Programming - イラストを用いたGoの概念学習
- Libs.tech – Awesome Go libraries and hidden gems
- Made with Golang
- pkg.go.dev - オープンソースGoパッケージのドキュメンテーション
- studygolang - 中国におけるstudygolangのコミュニティ
- Trending Go repositories on GitHub today - 新しいGoライブラリを発見できる良い場所
- TutorialEdge - Golang
チュートリアル
- 50 Shades of Go - 新規Golang開発者向けのトラップ、注意点、よくあるミス
- A Comprehensive Guide to Structured Logging in Go - Goにおける構造化ログの世界を深く掘り下げ、特に最近承認されたslogの提案に焦点を当て、標準ライブラリに高性能な構造化ログとレベルを導入することを目指す
- A Guide to Golang E-Commerce - eコマース向けGolangサイトの構築(デモ付き)
- A Tour of Go - Goのインタラクティブツアー
- Build a Database in 1000 lines of code - 1000行のコードでゼロからNoSQLデータベースを構築
- Build web application with Golang - Golang電子書籍の紹介:Golangでウェブアプリを構築する方法
- Building and Testing a REST API in Go with Gorilla Mux and PostgreSQL - 強力なGorilla Muxを活用してAPIを構築する
- Building Go Web Applications and Microservices Using Gin - Ginについて詳しく知り、ボイラープレートコードを削減し、リクエスト処理パイプラインを構築できるかを確認する
- Caching Slow Database Queries - 遅いデータベースクエリをキャッシュする方法
- Canceling MySQL - MySQLクエリをキャンセルする方法
- CodeCrafters Golang Track - Goroutines、システムプログラミング、ファイルI/Oなど、高度なGoをマスターするため、自作のRedis、Docker、Git、SQLiteを構築する
- Design Patterns in Go - Goで実装されたプログラミング設計パターンのコレクション
- Games With Go - プログラミングとゲーム開発を教えるビデオシリーズ
- Go By Example - 注記付き例プログラムを用いたGoの実践的な導入
- Go Cheat Sheet - Goのリファレンスカード
- Go database/sql tutorial - database/sqlの導入
- Go in 7 days - 7日間でGoを完全に学ぶ(Node.js開発者から)
- Go Language Tutorial - Go言語チュートリアル
- Go Tutorial - Goプログラミングを学ぶ
- Go WebAssembly Tutorial - Building a Simple Calculator
- go-clean-template - Golangサービス向けのクリーンアーキテクチャテンプレート
- go-patterns - Go設計パターン、レシピ、慣習の厳選リスト
- Golang for Node.js Developers - GoとNode.jsの比較例を用いた学習例
- Golang Tutorial Guide - Goプログラミング言語を学ぶための無料コース一覧
- golang-examples - Goプログラミングを学ぶための多くの例
- Golangbot - Goでのプログラミングに取り組むためのチュートリアル
- GopherCoding - 日々の問題を解決するためのコードスニペットとチュートリアルのコレクション
- GopherSnippets - Goプログラミング言語向けのコードスニペットとテスト付きの例
- Gosamples - 日々のコード問題を解決するためのコードスニペットのコレクション
- GraphQL with Go - GoのGraphQLサーバーとクライアントを作成する方法をコード生成で学ぶ。また、RESTエンドポイントの作成も含まれる。
- Hackr.io - Goを学ぶための最高のオンラインGolangチュートリアルをコミュニティが提出・投票した結果を紹介
- Hex Monscape - Hexagonalアーキテクチャを使って維持性の高いコードを書くための初歩ガイド
- How to Benchmark: dbq vs sqlx vs GORM - Goでのベンチマーク方法を学ぶ。事例として、dbq、sqlxおよびGORMのベンチマークを行う。
- How To Deploy a Go Web Application with Docker - Dockerを用いたGo開発と、生産環境向けDockerイメージの構築方法を学ぶ。
- How to Implement Role-Based Access Control (RBAC) Authorization in Golang - Goでロールベースアクセス制御(RBAC)を実装するためのガイド。コード例を含み、アプリケーションエンドポイントのセキュリティをロールベース認可で確保するためのさまざまな方法をカバー。
- How to Use Godog for Behavior-driven Development in Go - Godog - ビヘイビアドリブン開発フレームワークを使ってGoアプリケーションの構築とテストを始める。
- Learn Go with 1000+ Exercises - 数千の例、演習、クイズを用いてGoを学ぶ。
- Learn Go with TDD - テストドリブン開発でGoを学ぶ。
- Learning Go by examples - 具体的なアプリケーションを例に挙げてGo言語を学ぶための記事シリーズ。
- Microservices with Go - Goを使用したマイクロサービスの構築に深く Dive する
- package main - GoにおけるプログラミングについてのYouTubeチャンネル
- Programming with Google Go - Goからゼロから学ぶためのCourseraのスペシャリゼーション
- Scaling Go Applications - 生産環境におけるGoアプリケーションの構築・デプロイ・スケーリングに関するすべての情報
- The world’s easiest introduction to WebAssembly with Golang
- Understanding Go in a visual way - 視覚的にGoを学ぶ
- W3basic Go Tutorials - W3BasicはGo言語プログラミングを学ぶための詳細なチュートリアルと整理されたコンテンツを提供
- Your basic Go - チュートリアルやハウツーの豊富なコレクション
ガイド付き学習
- The Go Developer Roadmap - 新規のGo開発者が学習に活用できる視覚的な学習マップ
- The Go Interview Practice - Go技術面接準備用のコーディングチャレンジを提供するGitHubリポジトリ
- The Go Learning Path - 無料およびプレミアムリソースを組み合わせた、ガイド付き学習パス
- The Go Skill Tree - 無料およびプレミアムリソースを組み合わせた構成された学習パス
貢献
貢献を歓迎します。ガイドラインはCONTRIBUTING.mdを確認してください。
ライセンス
このプロジェクトはMIT Licenseで提供されます。詳細はLICENSEファイルを確認してください。