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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.