Learn R Programming

tauturri

This is tauturri version 0.3.0 (semver(ish)).
The goal of tauturri is to get data out of 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:

install.packages("tauturri")

Current development version on GitHub:

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, enable the API and store the URL and your API key.

In your ~/.Renviron, set the following:

# Tautulli
tautulli_url=<Tautulli URL (with port, if necessary)>
tautulli_apikey=<Tautilli API key>

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

Server Info

info <- get_servers_info()

# Probably shouldn't show URL etc.
names(info)
#> [1] "port"               "host"               "version"           
#> [4] "name"               "machine_identifier"
info[c("name", "version")]
#> # A tibble: 1 x 2
#>   name  version              
#>   <chr> <chr>                
#> 1 PPTH  1.13.2.5154-fd05be322

get_plays_by [date|dayofweek|…]

All plays in the current year, per day:

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:

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:

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

api_functions <- names(api_request(cmd = "docs")$data)
api_functions <- api_functions[grepl("^get_", api_functions)]
sort(api_functions[!(api_functions %in% getNamespaceExports("tauturri"))])
#>  [1] "get_apikey"              "get_date_formats"       
#>  [3] "get_geoip_lookup"        "get_logs"               
#>  [5] "get_metadata"            "get_new_rating_keys"    
#>  [7] "get_newsletter_config"   "get_newsletter_log"     
#>  [9] "get_newsletters"         "get_notification_log"   
#> [11] "get_notifier_config"     "get_notifier_parameters"
#> [13] "get_notifiers"           "get_old_rating_keys"    
#> [15] "get_plex_log"            "get_pms_token"          
#> [17] "get_server_pref"         "get_settings"           
#> [19] "get_stream_data"         "get_synced_items"       
#> [21] "get_user"                "get_whois_lookup"

CoC

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

Copy Link

Version

Install

install.packages('tauturri')

Monthly Downloads

106

Version

0.3.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Lukas Burk

Last Published

July 11th, 2018

Functions in tauturri (0.3.0)

get_plays_by_dayofweek

Get Plays by Day of Week
get_plays_per_month

Get Plays by Month
get_recently_added

Get Recently Added Media Items
get_user_ips

Get User IPs
get_stream_type_by_top_10_platforms

Get Stream Type by Top 10 Platforms
get_user_logins

Get User Logins
get_stream_type_by_top_10_users

Get Stream Type by Top 10 Users
get_server_identity

Get Server Identity
get_user_player_stats

Get a Single User's Player Stats
get_server_id

Get Server ID
get_pms_update

Check for PMS Updates
search_server

Search for Media Items
get_user_names

Get User Names and IDs
words

Common English Words
get_users_table

Get a Users Table
get_server_friendly_name

Get Server Friendly Name
update_check

Check for Tautulli Updates
tauturri-package

tauturri: Get Data Out of 'Tautulli' (Formerly 'PlexPy')
%>%

Pipe operator
update_tautulli

Apply Tautulli Updates
get_servers_info

Get Server Information
get_server_list

Get Server List
get_users

Get Users
get_user_watch_time_stats

Get a Single User's Player Stats
get_home_stats

Get Home Stats
get_libraries

Get All the Libraries' Data
get_plays_by_top_10_platforms

Get Plays by Top 10 Platforms
get_plays_by_source_resolution

Get Plays by Source Resolution
get_plays_by_hourofday

Get Plays by Hour of Day
get_plays_by_top_10_users

Get Plays by Top 10 Users
get_libraries_table

Get All the Libraries-Table
get_library

Get A Single Library Information
get_library_media_info

Get A Library's Media Info
get_plays_by_stream_type

Get Plays by Stream Type
get_plays_by_stream_resolution

Get Plays by Stream Resolution
get_library_names

Get Library Sections and Names
api_request

Make an API GET-request
arnold

Arnold
get_activity

Get Current Server Activity
get_history

Get Playback History
get_library_user_stats

Get Library User Stats
get_library_watch_time_stats

Get Library Watch Time Stats
get_plays_by_date

Get Plays by Date