Starr
The correct way to say *arr
.
Go library to interact with APIs in all the Starr apps.
- Lidarr (over 35 methods)
- Sonarr (over 70 methods)
- Radarr (over 35 methods)
- Readarr (over 25 methods)
- Prowlarr (almost 10 methods!)
Custom Scripts support is also included. Check out the types and methods to get that data.
One 🌟 To Rule Them All
This library is slowly updated as new methods are needed or requested. If you have specific needs this library doesn't currently meet, but should or could, please let us know!
This library is currently in use by:
Usage
Get it:
go get golift.io/starr
Use it:
import "golift.io/starr"
Example
package main
import (
"fmt"
"golift.io/starr"
"golift.io/starr/lidarr"
)
func main() {
// Get a starr.Config that can plug into any Starr app.
// starr.New(apiKey, appURL string, timeout time.Duration)
c := starr.New("abc1234ahsuyka123jh12", "http://localhost:8686", 0)
// Lets make a lidarr server with the default starr Config.
l := lidarr.New(c)
// In addition to GetSystemStatus, you have things like:
// * l.GetAlbum(albumID int)
// * l.GetQualityDefinition()
// * l.GetQualityProfiles()
// * l.GetRootFolders()
// * l.GetQueue(maxRecords int)
// * l.GetAlbum(albumUUID string)
// * l.GetArtist(artistUUID string)
status, err := l.GetSystemStatus()
if err != nil {
panic(err)
}
fmt.Println(status)
}