Skip to content

Commit

Permalink
most recent season functions
Browse files Browse the repository at this point in the history
  • Loading branch information
saiemgilani committed May 12, 2023
1 parent 18bbfea commit 4343fa4
Show file tree
Hide file tree
Showing 29 changed files with 139 additions and 1 deletion.
Binary file modified Sphinx-docs/_build/doctrees/environment.pickle
Binary file not shown.
Binary file modified Sphinx-docs/_build/doctrees/sportsdataverse.cfb.doctree
Binary file not shown.
Binary file modified Sphinx-docs/_build/doctrees/sportsdataverse.mbb.doctree
Binary file not shown.
Binary file modified Sphinx-docs/_build/doctrees/sportsdataverse.nba.doctree
Binary file not shown.
Binary file modified Sphinx-docs/_build/doctrees/sportsdataverse.nfl.doctree
Binary file not shown.
Binary file modified Sphinx-docs/_build/doctrees/sportsdataverse.nhl.doctree
Binary file not shown.
Binary file modified Sphinx-docs/_build/doctrees/sportsdataverse.wbb.doctree
Binary file not shown.
Binary file modified Sphinx-docs/_build/doctrees/sportsdataverse.wnba.doctree
Binary file not shown.
2 changes: 2 additions & 0 deletions Sphinx-docs/_build/markdown/sportsdataverse.cfb.md
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,8 @@ Returns:

pd.DataFrame: Pandas dataframe containing schedule dates for the requested season.


### sportsdataverse.cfb.cfb_schedule.most_recent_cfb_season()
## sportsdataverse.cfb.cfb_teams module


Expand Down
2 changes: 2 additions & 0 deletions Sphinx-docs/_build/markdown/sportsdataverse.mbb.md
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,8 @@ Returns:

pd.DataFrame: Pandas dataframe containing schedule dates for the requested season.


### sportsdataverse.mbb.mbb_schedule.most_recent_mbb_season()
## sportsdataverse.mbb.mbb_teams module


Expand Down
4 changes: 4 additions & 0 deletions Sphinx-docs/_build/markdown/sportsdataverse.nba.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,10 @@ Returns:
pd.DataFrame: Pandas dataframe containing
schedule events for the requested season.


### sportsdataverse.nba.nba_schedule.most_recent_nba_season()

### sportsdataverse.nba.nba_schedule.year_to_season(year)
## sportsdataverse.nba.nba_teams module


Expand Down
4 changes: 4 additions & 0 deletions Sphinx-docs/_build/markdown/sportsdataverse.nfl.md
Original file line number Diff line number Diff line change
Expand Up @@ -536,6 +536,10 @@ Returns:

pd.DataFrame: Pandas dataframe containing schedule dates for the requested season.


### sportsdataverse.nfl.nfl_schedule.get_current_week()

### sportsdataverse.nfl.nfl_schedule.most_recent_nfl_season()
## sportsdataverse.nfl.nfl_teams module


Expand Down
4 changes: 4 additions & 0 deletions Sphinx-docs/_build/markdown/sportsdataverse.nhl.md
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,10 @@ Returns:
pd.DataFrame: Pandas dataframe containing
schedule events for the requested season.


### sportsdataverse.nhl.nhl_schedule.most_recent_nhl_season()

### sportsdataverse.nhl.nhl_schedule.year_to_season(year)
## sportsdataverse.nhl.nhl_teams module


Expand Down
2 changes: 2 additions & 0 deletions Sphinx-docs/_build/markdown/sportsdataverse.wbb.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,8 @@ Returns:

pd.DataFrame: Pandas dataframe containing schedule dates for the requested season.


### sportsdataverse.wbb.wbb_schedule.most_recent_wbb_season()
## sportsdataverse.wbb.wbb_teams module


Expand Down
2 changes: 2 additions & 0 deletions Sphinx-docs/_build/markdown/sportsdataverse.wnba.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,8 @@ Returns:

pd.DataFrame: Pandas dataframe containing schedule dates for the requested season.


### sportsdataverse.wnba.wnba_schedule.most_recent_wnba_season()
## sportsdataverse.wnba.wnba_teams module


Expand Down
2 changes: 2 additions & 0 deletions docs/docs/cfb/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,8 @@ Returns:

pd.DataFrame: Pandas dataframe containing schedule dates for the requested season.


### sportsdataverse.cfb.cfb_schedule.most_recent_cfb_season()
## sportsdataverse.cfb.cfb_teams module


Expand Down
2 changes: 2 additions & 0 deletions docs/docs/mbb/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,8 @@ Returns:

pd.DataFrame: Pandas dataframe containing schedule dates for the requested season.


### sportsdataverse.mbb.mbb_schedule.most_recent_mbb_season()
## sportsdataverse.mbb.mbb_teams module


Expand Down
4 changes: 4 additions & 0 deletions docs/docs/nba/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,10 @@ Returns:
pd.DataFrame: Pandas dataframe containing
schedule events for the requested season.


### sportsdataverse.nba.nba_schedule.most_recent_nba_season()

### sportsdataverse.nba.nba_schedule.year_to_season(year)
## sportsdataverse.nba.nba_teams module


Expand Down
4 changes: 4 additions & 0 deletions docs/docs/nfl/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -536,6 +536,10 @@ Returns:

pd.DataFrame: Pandas dataframe containing schedule dates for the requested season.


### sportsdataverse.nfl.nfl_schedule.get_current_week()

### sportsdataverse.nfl.nfl_schedule.most_recent_nfl_season()
## sportsdataverse.nfl.nfl_teams module


Expand Down
4 changes: 4 additions & 0 deletions docs/docs/nhl/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,10 @@ Returns:
pd.DataFrame: Pandas dataframe containing
schedule events for the requested season.


### sportsdataverse.nhl.nhl_schedule.most_recent_nhl_season()

### sportsdataverse.nhl.nhl_schedule.year_to_season(year)
## sportsdataverse.nhl.nhl_teams module


Expand Down
2 changes: 2 additions & 0 deletions docs/docs/wbb/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,8 @@ Returns:

pd.DataFrame: Pandas dataframe containing schedule dates for the requested season.


### sportsdataverse.wbb.wbb_schedule.most_recent_wbb_season()
## sportsdataverse.wbb.wbb_teams module


Expand Down
2 changes: 2 additions & 0 deletions docs/docs/wnba/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,8 @@ Returns:

pd.DataFrame: Pandas dataframe containing schedule dates for the requested season.


### sportsdataverse.wnba.wnba_schedule.most_recent_wnba_season()
## sportsdataverse.wnba.wnba_teams module


Expand Down
10 changes: 10 additions & 0 deletions sportsdataverse/cfb/cfb_schedule.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import pandas as pd
import json
import time
import datetime
from sportsdataverse.dl_utils import download, underscore

def espn_cfb_schedule(dates=None, week=None, season_type=None, groups=None, limit=500) -> pd.DataFrame:
Expand Down Expand Up @@ -161,3 +162,12 @@ def espn_cfb_calendar(season = None, groups = None, ondays = None) -> pd.DataFra
full_schedule.columns = [underscore(c) for c in full_schedule.columns.tolist()]
full_schedule = full_schedule.rename(columns={"week_value": "week", "season_type_value": "season_type"})
return full_schedule

def most_recent_cfb_season():
date = datetime.datetime.now()
if date.month >= 8 and date.day >= 15:
return date.year
elif date.month >= 9:
return date.year
else:
return date.year - 1
9 changes: 8 additions & 1 deletion sportsdataverse/mbb/mbb_schedule.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import pandas as pd
import numpy as np
import json
import datetime
from typing import List, Callable, Iterator, Union, Optional
from sportsdataverse.errors import SeasonNotFoundError
from sportsdataverse.dl_utils import download, underscore
Expand Down Expand Up @@ -117,4 +118,10 @@ def espn_mbb_calendar(season=None, ondays=None) -> pd.DataFrame:
full_schedule = pd.DataFrame(data)
full_schedule['url']="http://site.api.espn.com/apis/site/v2/sports/basketball/mens-college-basketball/scoreboard?dates="
full_schedule['url']= full_schedule['url'] + full_schedule['dateURL']
return full_schedule
return full_schedule

def most_recent_mbb_season():
if datetime.datetime.today().month >= 10:
return datetime.datetime.today().year + 1
else:
return datetime.datetime.today().year
18 changes: 18 additions & 0 deletions sportsdataverse/nba/nba_schedule.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import pandas as pd
import json
import datetime
from typing import List, Callable, Iterator, Union, Optional
from sportsdataverse.errors import SeasonNotFoundError
from sportsdataverse.dl_utils import download, underscore
Expand Down Expand Up @@ -113,3 +114,20 @@ def espn_nba_calendar(season=None, ondays=None) -> pd.DataFrame:
full_schedule['url']="http://site.api.espn.com/apis/site/v2/sports/basketball/nba/scoreboard?dates="
full_schedule['url']= full_schedule['url'] + full_schedule['dateURL']
return full_schedule

def most_recent_nba_season():
if int(str(datetime.date.today())[5:7]) >= 10:
return int(str(datetime.date.today())[0:4]) + 1
else:
return int(str(datetime.date.today())[0:4])

def year_to_season(year):
first_year = str(year)[2:4]
next_year = int(first_year) + 1
if int(next_year) < 10 and int(first_year) >= 0:
next_year_formatted = f"0{next_year}"
elif int(first_year) == 99:
next_year_formatted = "00"
else:
next_year_formatted = str(next_year)
return f"{year}-{next_year_formatted}"
31 changes: 31 additions & 0 deletions sportsdataverse/nfl/nfl_schedule.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import pandas as pd
import json
import time
import datetime
from sportsdataverse.dl_utils import download, underscore
from urllib.error import URLError, HTTPError, ContentTooShortError

Expand Down Expand Up @@ -129,3 +130,33 @@ def espn_nfl_calendar(season=None, ondays=None) -> pd.DataFrame:
full_schedule.columns = [underscore(c) for c in full_schedule.columns.tolist()]
full_schedule = full_schedule.rename(columns={"week_value": "week", "season_type_value": "season_type"})
return full_schedule

def most_recent_nfl_season():
today = datetime.datetime.today()
current_year = today.year
current_month = today.month
current_day = today.day
if current_month >= 9:
return current_year
return current_year - 1

def get_current_week():

# Find first Monday of September in current season
week1_sep = pd.to_datetime([f"{most_recent_nfl_season()}-09-0{num}" for num in range(1, 8)]).to_series()
monday1_sep = week1_sep[week1_sep.dt.dayofweek == 0]

# NFL season starts 3 days later
first_game = monday1_sep
first_game += pd.Timedelta(days=3)

# current week number of nfl season is 1 + how many weeks have elapsed since first game
current_week = int((pd.to_datetime("today") - first_game).dt.days / 7 + 1)

# hardcoded week bounds because this whole date based thing has assumptions anyway
if current_week < 1:
current_week = 1
if current_week > 22:
current_week = 22

return current_week
18 changes: 18 additions & 0 deletions sportsdataverse/nhl/nhl_schedule.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import pandas as pd
import json
import datetime
from sportsdataverse.dl_utils import download, underscore

def espn_nhl_schedule(dates=None, season_type=None, limit=500) -> pd.DataFrame:
Expand Down Expand Up @@ -87,3 +88,20 @@ def espn_nhl_calendar(season=None) -> pd.DataFrame:
df['url']="http://site.api.espn.com/apis/site/v2/sports/basketball/mens-college-basketball/scoreboard?dates="
df['url']= df['url'] + df['dateURL']
return df

def most_recent_nhl_season():
if int(str(datetime.date.today())[5:7]) >= 10:
return int(str(datetime.date.today())[0:4]) + 1
else:
return int(str(datetime.date.today())[0:4])

def year_to_season(year):
first_year = str(year)[2:4]
next_year = int(first_year) + 1
if int(next_year) < 10 and int(first_year) >= 0:
next_year_formatted = f"0{next_year}"
elif int(first_year) == 99:
next_year_formatted = "00"
else:
next_year_formatted = str(next_year)
return f"{year}-{next_year_formatted}"
6 changes: 6 additions & 0 deletions sportsdataverse/wbb/wbb_schedule.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import pandas as pd
import json
import datetime
from typing import List, Callable, Iterator, Union, Optional
from sportsdataverse.errors import SeasonNotFoundError
from sportsdataverse.dl_utils import download, underscore
Expand Down Expand Up @@ -119,3 +120,8 @@ def espn_wbb_calendar(season=None, ondays=None) -> pd.DataFrame:
full_schedule['url']= full_schedule['url'] + full_schedule['dateURL']
return full_schedule

def most_recent_wbb_season():
if datetime.datetime.today().month >= 10:
return datetime.datetime.today().year + 1
else:
return datetime.datetime.today().year
8 changes: 8 additions & 0 deletions sportsdataverse/wnba/wnba_schedule.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import pandas as pd
import json
from datetime import datetime
from typing import List, Callable, Iterator, Union, Optional
from sportsdataverse.config import WNBA_BASE_URL, WNBA_TEAM_BOX_URL, WNBA_PLAYER_BOX_URL, WNBA_TEAM_SCHEDULE_URL
from sportsdataverse.errors import SeasonNotFoundError
Expand Down Expand Up @@ -112,3 +113,10 @@ def espn_wnba_calendar(season=None, ondays=None) -> pd.DataFrame:
full_schedule['url']="http://site.api.espn.com/apis/site/v2/sports/basketball/wnba/scoreboard?dates="
full_schedule['url']= full_schedule['url'] + full_schedule['dateURL']
return full_schedule

def most_recent_wnba_season():
today = datetime.date(datetime.now())
if today.month >= 5:
return today.year
else:
return today.year - 1

1 comment on commit 4343fa4

@vercel
Copy link

@vercel vercel bot commented on 4343fa4 May 12, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.