File size: 2,441 Bytes
a8b6a3f
d3fa801
a8b6a3f
 
 
2800ce0
33c77d4
 
 
 
d3fa801
56c6bd4
a8b6a3f
d3fa801
 
36c7a6c
 
 
 
9eda2f5
12506e4
d0e7981
332152c
9eda2f5
8fe9801
92ffedf
 
 
a8b6a3f
5c0190c
8cb0448
332152c
 
 
 
 
 
 
 
 
 
 
 
8cb0448
332152c
 
 
 
 
 
 
 
 
 
d3fa801
 
92ffedf
 
2967b2a
d0e7981
6f7cc68
36c7a6c
 
9eda2f5
2967b2a
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
import gradio as gr
import matplotlib as mpl

from data import data_df
from pitcher_overview import create_pitcher_overview
from player_team_leaderboard import create_pitcher_leaderboard, create_team_pitching_leaderboard, create_batter_leaderboard, create_team_batting_leaderboard
from pitch_leaderboard import (
  create_pitcher_pitch_leaderboard, create_batter_pitch_leaderboard,
  create_team_pitching_pitch_leaderboard, create_team_batting_pitch_leaderboard
)
from daily_weekly_leaderboard import create_daily_weekly_leaderboard_app
from css import css

mpl.use('Agg')

latest_data_date = data_df['date'].max()
with open('updated.txt') as f:
  updated = f.read().strip()

limitations = '''**General Limitations**
- As new players make their debut, some names may be missing or not translated/transliterated correctly.
- IP is underestimated (does not count outs via caught stealing)
- Data is only from regular season
'''

with open('acknowledgements.md', 'r') as f:
  acknowledgements = f.read()

if __name__ == '__main__':
  with gr.Blocks(title='NPB Data App', css=css) as app:
    with gr.Tab('Pitching'):
      with gr.Tab('Pitcher'):
        with gr.Tab('Pitcher Overview'):
          create_pitcher_overview(data_df)
        with gr.Tab('Pitcher Leaderboard'):
          create_pitcher_leaderboard()
        with gr.Tab('Pitch Leaderboard'):
          create_pitcher_pitch_leaderboard()
      with gr.Tab('Team Pitching'):
        with gr.Tab('Team Pitching Leaderboard'):
          create_team_pitching_leaderboard()
        with gr.Tab('Team Pitching Pitch Leaderboard'):
          create_team_pitching_pitch_leaderboard()
    with gr.Tab('Batting'):
      with gr.Tab('Batter'):
        with gr.Tab('Batter Leaderboard'):
          create_batter_leaderboard()
        with gr.Tab('Batter Pitch Leaderboard'):
          create_batter_pitch_leaderboard()
      with gr.Tab('Team Batting'):
        with gr.Tab('Team Batting Leaderboard'):
          create_team_batting_leaderboard()
        with gr.Tab('Team Batting Pitch Leaderboard'):
          create_team_batting_pitch_leaderboard()
    with gr.Tab('Daily/Weekly Leaderboard'):
      create_daily_weekly_leaderboard_app(data_df)
    with gr.Tab('Acknowledgements'):
      gr.Markdown(acknowledgements)


    gr.Markdown('---')
    gr.Markdown(f'**Data up to:** {latest_data_date}')
    gr.Markdown(f'**Last updated:** {updated}')
    gr.Markdown(limitations)
  app.launch()