anilistarr

package module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 5, 2024 License: MIT Imports: 0 Imported by: 0

README ΒΆ

anilistarr

anilist custom list provider for sonarr/radarr

Go Reference GitHub Issues GitHub Pull Requests

Integration pre-commit.ci status

Quality Gate Status Coverage Maintainability Rating Security Rating

License FOSSA Status CII Best Practices

Docker Image Size (latest semver) Docker Image Version (latest semver) Docker Pulls


πŸ“ Table of Contents

🧐 About

Converts an Anilist user watching list to a custom list format which *arr apps support.

It works by fetching the user info directly from Anilist thanks to its API, and converts the IDs using community-provided mappings.

Try it out on a live instance at https://anilistarr.fly.dev/. For API details check either the source Swagger definition or the generated online version here.

🏁 Getting Started

Clone the repository and use go run ./cmd/handler/... to get the REST API up.

πŸ”§ Running the tests

Explain how to run the automated tests for this system.

🎈 Usage

Configuration in general is a WIP. The code supports distinct storage and cache options and has built-in support for different caches and stores. The handler needs flags/configuration file support to allow switching at runtime.

Implemented solutions:

  • Cache
    • Badger
    • Bolt (no TTL support tho)
    • Redis
  • Store
    • Badger
    • SQL (model generated for SQLite, should work for others but YMMV)

πŸš€ Deployment

The handler binary is statically compiled and serves both the REST API and the telemetry to an OTLP endpoint. Extra requirements depend on which storage and cache technologies you've chosen; e.g. using SQLite/Bolt requires a database file. The Docker image provided contains the handler alone, for instance.

πŸ”§ Built Using

  • Golang - Base language
  • Chi - net/HTTP-compatible router that doesn't suck
  • genqlient - type-safe GraphQL client generator
  • xo - SQL client code generator
  • Open Telemetry - Observability

πŸ§‘β€πŸ’» Authors

πŸŽ‰ Acknowledgements

Documentation ΒΆ

Overview ΒΆ

Package anilistarr provides interfaces and a REST API that converts IDs from anime tracking services such as Anilist to the TVDB IDs wanted by *arr tools.

It relies on community-provided mappings to match the IDs. Tracker information uses the upstream service directly.

Copyright (c) William Artero. MIT License

Directories ΒΆ

Path Synopsis
cmd
internal
api
Package api provides primitives to interact with the openapi HTTP API.
Package api provides primitives to interact with the openapi HTTP API.
drivers/stores/models
Package models contains generated code for schema 'media.db'.
Package models contains generated code for schema 'media.db'.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL