About this project

goenvoy is a multi-module monorepo providing Go client libraries for a wide array of media-related services. It is designed to be lightweight, relying exclusively on the Go standard library (net/http and encoding/json) with no external dependencies. The library is organized into several categories: - Arr Stack: Support for Sonarr, Radarr, Lidarr, Readarr, Prowlarr, and others. - Metadata: Clients for TMDb, TheTVDB, AniList, MusicBrainz, Spotify, IGDB, and many more. - Download Clients: Integration with qBittorrent, Transmission, Deluge, SABnzbd, and NZBGet. - Media Servers: Support for Plex, Jellyfin, Emby, Audiobookshelf, and others. - Tools & Anime: Includes FlareSolverr and Shoko Server. Key technical features include: - Context-aware methods for cancellation and timeouts. - Functional options for flexible client configuration (e.g., WithHTTPClient, WithTimeout). - Type-safe error handling via module-specific APIError types. - OAuth2 support for applicable services. - A modular structure allowing users to import only the specific service libraries they need.