tauturri

A Tautilli/PlexPy API wrapper for R

https://github.com/jemus42/tauturri

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.8%) to scientific vocabulary

Keywords

api-client cran plexpy r r-package rstats tautulli
Last synced: 6 months ago · JSON representation

Repository

A Tautilli/PlexPy API wrapper for R

Basic Info
Statistics
  • Stars: 1
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 3
Topics
api-client cran plexpy r r-package rstats tautulli
Created about 8 years ago · Last pushed about 2 years ago
Metadata Files
Readme Changelog License Code of conduct

README.Rmd

---
output: github_document
editor_options: 
  chunk_output_type: console
---



```{r setup, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "100%"
)

library(tauturri)
library(ggplot2)
library(tidyr)
```
# tauturri


[![R-CMD-check](https://github.com/jemus42/tauturri/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/jemus42/tauturri/actions/workflows/R-CMD-check.yaml)
[![Coverage status](https://codecov.io/gh/jemus42/tauturri/branch/master/graph/badge.svg)](https://codecov.io/github/jemus42/tauturri?branch=master)
[![CRAN status](https://www.r-pkg.org/badges/version/tauturri)](https://cran.r-project.org/package=tauturri)
[![CRAN downloads](https://cranlogs.r-pkg.org/badges/grand-total/tauturri)](https://cran.r-project.org/package=tauturri)
[![lifecycle](https://img.shields.io/badge/lifecycle-maturing-blue.svg)](https://www.tidyverse.org/lifecycle/#maturing)


The goal of `tauturri` is to get data out of [**Tautulli**](https://github.com/Tautulli/Tautulli) (formerly **PlexPy**) as simply as possible.

The project is still pretty young, and while it's reasonably functional, there might still be some issues. At least it passes all the tests, I guess?

## Installation

Current stable version on CRAN:

```r
install.packages("tauturri")
```

Current development version on GitHub:

```r
if (!("remotes" %in% installed.packages())){
  install.packages("remotes")
}

remotes::install_github("jemus42/tauturri")
```

## Setup

To use this package, you'll need a working instance of [Tautulli](http://tautulli.com/), enable the API and store the URL and your API key.

In your `~/.Renviron`, set the following:

```
# Tautulli
tautulli_url=
tautulli_apikey=
```

That's it.  
Alternatively use `Sys.setenv()` to set the appropriate values in a script.

## Server Info

```{r server_info}
info <- get_servers_info()

# Probably shouldn't show URL etc.
names(info)
info[c("name", "version")]
```


## `get_plays_by` [date|dayofweek|...]

All plays in the current year, per day:

```{r get_plays_by_date}
plays <- get_plays_by_date(time_range = lubridate::yday(lubridate::now()))

plays |>
  gather(category, playcount, TV, Movies, Music) |>
  ggplot(aes(x = date, y = playcount, fill = category)) +
  geom_col() +
  scale_fill_brewer(
    palette = "Set1",
    breaks = c("Movies", "TV", "Music")
  ) +
  labs(
    title = "Plex Plays by Date",
    subtitle = "Showing Movie, TV and Music Categories",
    x = "Date", y = "Plays", fill = "Category"
  ) +
  theme_minimal() +
  theme(legend.position = "top")
```

... per day of week:

```{r get_plays_by_dayofweek}
plays <- get_plays_by_dayofweek(time_range = lubridate::yday(lubridate::now()))

plays |>
  gather(category, playcount, TV, Movies, Music) |>
  ggplot(aes(x = day, y = playcount, fill = category)) +
  geom_col() +
  scale_fill_brewer(
    palette = "Set1",
    breaks = c("Movies", "TV", "Music")
  ) +
  labs(
    title = "Plex Plays by Day of Week",
    subtitle = "Showing Movie, TV and Music Categories",
    x = "Day", y = "Plays", fill = "Category"
  ) +
  theme_minimal() +
  theme(legend.position = "top")
```

... and per hour of day:

```{r get_plays_by_hourofday}
plays <- get_plays_by_hourofday(time_range = lubridate::yday(lubridate::now()))

plays |>
  gather(category, playcount, TV, Movies, Music) |>
  ggplot(aes(x = hms::hms(hours = hour), y = playcount, fill = category)) +
  geom_col() +
  scale_fill_brewer(
    palette = "Set1",
    breaks = c("Movies", "TV", "Music")
  ) +
  labs(
    title = "Plex Plays by Hour of Day",
    subtitle = "Showing Movie, TV and Music Categories",
    x = "Hour", y = "Plays", fill = "Category"
  ) +
  theme_minimal() +
  theme(legend.position = "top")
```

## API Functions Not Yet Implemented

```{r}
api_functions <- names(api_request(cmd = "docs")$data)
api_functions <- api_functions[grepl("^get_", api_functions)]
sort(api_functions[!(api_functions %in% getNamespaceExports("tauturri"))])
```

## CoC

Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md).  
By participating in this project you agree to abide by its terms.

Owner

  • Name: Lukas Burk
  • Login: jemus42
  • Kind: user
  • Location: Bremen, Germany
  • Company: @bips-hb // @slds-lmu

M.Sc. Biostats / WIP PhD Stats/ML / Generally, mostly #rstats

GitHub Events

Total
Last Year

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 121
  • Total Committers: 2
  • Avg Commits per committer: 60.5
  • Development Distribution Score (DDS): 0.149
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
jemus42 j****2@q****e 103
Lukas Burk l****s@q****e 18
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 104 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
  • Total maintainers: 1
cran.r-project.org: tauturri

Get Data Out of 'Tautulli' (Formerly 'PlexPy')

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 104 Last month
Rankings
Forks count: 28.8%
Dependent packages count: 29.8%
Stargazers count: 31.7%
Dependent repos count: 35.5%
Average: 40.5%
Downloads: 77.0%
Maintainers (1)
Last synced: 6 months ago

Dependencies

DESCRIPTION cran
  • R >= 3.2 depends
  • httr * imports
  • magrittr * imports
  • plyr * imports
  • purrr * imports
  • tibble * imports
  • covr * suggests
  • dplyr * suggests
  • testthat * suggests
  • tidyr * suggests
.github/workflows/R-CMD-check.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/pkgdown.yaml actions
  • JamesIves/github-pages-deploy-action 4.1.4 composite
  • actions/checkout v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite