このプロジェクトについて

goenvoyは、幅広いメディア関連サービス向けのGoクライアントライブラリを提供するマルチモジュール・モノレポです。軽量に設計されており、外部依存関係を持たず、Go標準ライブラリ(net/httpおよびencoding/json)のみに依存しています。 ライブラリは以下のカテゴリに整理されています: - Arr Stack: Sonarr, Radarr, Lidarr, Readarr, Prowlarrなどをサポート。 - Metadata: TMDb, TheTVDB, AniList, MusicBrainz, Spotify, IGDBなどのクライアント。 - Download Clients: qBittorrent, Transmission, Deluge, SABnzbd, NZBGetとの統合。 - Media Servers: Plex, Jellyfin, Emby, Audiobookshelfなどをサポート。 - Tools & Anime: FlareSolverrおよびShoko Serverを含む。 主な技術的特徴は以下の通りです: - キャンセルおよびタイムアウトのためのコンテキスト対応メソッド。 - 柔軟なクライアント設定のための関数型オプション(例:WithHTTPClient, WithTimeout)。 - モジュール固有のAPIError型による型安全なエラーハンドリング。 - 該当するサービスへのOAuth2サポート。 - ユーザーが必要な特定のサービスライブラリのみをインポートできるモジュール構造。