gamedata30day / app.py
eaglelandsonce's picture
Update app.py
ce0caba
raw
history blame
1.28 kB
import gradio as gr
import requests
import pandas as pd
from datetime import datetime, timedelta
import os
def fetch_games_by_date(date, api_key):
url = f"https://api.sportsdata.io/v3/nba/scores/json/GamesByDate/{date}?key={api_key}"
response = requests.get(url)
if response.status_code == 200:
return response.json()
else:
return None
def last_30_days_data(api_key):
all_games = []
for days_ago in range(30):
date = (datetime.now() - timedelta(days=days_ago)).strftime("%Y-%m-%d")
games = fetch_games_by_date(date, api_key)
if games:
all_games.extend(games)
return all_games
def fetch_and_display_data():
api_key = os.getenv('NBA_API_KEY')
if api_key:
games_data = last_30_days_data(api_key)
if games_data:
df = pd.DataFrame(games_data)
return df
else:
return "No data available."
else:
return "API Key not set."
interface = gr.Interface(
fn=fetch_and_display_data,
inputs=[],
outputs=gr.outputs.DataFrame(),
title="NBA Games Data Fetcher",
description="Fetches the last 30 days of NBA games data. Make sure your API key is set in the environment variable 'NBA_API_KEY'."
)
interface.launch()