-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathREADME.Rmd
127 lines (89 loc) · 6.45 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
---
output: github_document
---
<!-- README.md is generated from README.Rmd. Please edit that file -->
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```
# nflverse-data
<!-- badges: start -->
<!-- badges: end -->
This repository holds automated data releases for nflverse projects (i.e. all of the data powered/scraped via GitHub Actions).
## Usage
You can download data hosted here with the `{nflreadr}` package, or manually download and access the [releases](https://github.com/nflverse/nflverse-data/releases) page. Releases are roughly organized along the [main functions](https://nflreadr.nflverse.com/reference/) of nflreadr.
## Automation Status
The following table reports on the status and last update times of nflverse data pipelines.
```{r echo = FALSE, message = FALSE, warning = FALSE}
# piggyback::pb_list() |>
# dplyr::filter(file_name %in% c("timestamp.json","")) |>
# dplyr::distinct(tag,file_name) |>
# saveRDS("man/data_releases.rds")
update_times <- readRDS("man/data_releases.rds") |>
dplyr::mutate(url = glue::glue("https://github.com/nflverse/nflverse-data/releases/download/{tag}/timestamp.json"),
badge = glue::glue("[}&query=last_updated&style=flat-square&url={URLencode(url)})](https://github.com/nflverse/nflverse-data/releases/tag/{tag})")) |>
dplyr::select(
Data = tag,
`Last Updated` = badge
) |>
dplyr::bind_rows(
list(Data = "pbp_raw", `Last Updated` = "[]()")
)
status <- tibble::tribble(
~Data, ~ Status,
"pbp_raw", "",
"pbp", "",
"player_stats", "",
"rosters", "",
"players", "",
"snap_counts", "",
"draft_picks", "",
"pfr_advstats", "",
"nextgen_stats", "",
"injuries", "",
"depth_charts", "",
"combine", "",
"nfl4th", "",
"ffverse player IDs", "",
"ffverse rankings", "",
"contracts", ""
) |>
dplyr::left_join(update_times, by = "Data") |>
dplyr::mutate_all(tidyr::replace_na,"") |>
dplyr::mutate(Status = glue::glue("[{Status}]()"))
```
```{r echo = FALSE, message = FALSE, warning = FALSE}
knitr::kable(status)
```
```{asis include = FALSE}
### Play by Play

Raw JSON should appear 1-2 hours after each game.

PBP and PS are updated at 9:00 UTC each day from September to February
### Rosters

Rosters are updated at 7:00 UTC each day.
### Snap Counts

Snap counts are polled four times a day for new data.
### Advanced Pass/Rush/Rec/Def Stats

Advanced Stats are polled four times a day for new data.
### Next Gen Stats

NGS is polled every day at 7:00 UTC from September to February.
### nfl4th

nfl4th's precomputed numbers are rebuilt each day at 7:00 UTC from September to February.
### ffverse player IDs

This is updated on a weekly basis.
### ffverse rankings

This is updated on Thursdays at 7:00 pm ET.
```