Unofficial audl api
Project description
AUDL API
Unofficial AUDL api for python users
What it does:
- Fetch Data directly from audl website
- Update database from Web Scrapping using workflow
- Generate pdf reports for player, team and games
Table of Contents
Requirements
- Install requirements
pip install -r requirements
- Having sqlite3:
sudo apt install sqlite3
Download package with pip install audl
Features
- [O] Fetch Data from
- Player Profile
- Team Stats
- Merge team and opponent columns into single df
- Player Stats
- Season Schedule
- Game Stats
- Team Game Stats
- Utils
- Get Type of throw from x, y coordinates
- Get previous thrower
TODOs:
- Create database from web scrapper (sql, database, workflows)
- Teams
- Players
- Schedule
- Player Game Stats
- Team Game Stats
- Write Scripts to fetch data daily/weekly/monthly
- Write examples in notebook
- Generate Reports
- Game Report
- Stadium
- Temperature
- Roster
- Box Scores, Player Stats, Team Stats
- More: Injury Report
- More: Points events (point duration, number of TO/pass, throws choices)
- More: Outstanding performance
- More: Point differential graph
- Player Report
- Biography: height, weight, nickname, college, position, number
- Team History
- More: Teamate connection by season
- More: points distribution and efficiency
- More: Favorite throws
- More: Favorite cuts
- More: Stats Projection
- More: quick facts (performance vs league/team average)
- More: Injury Report
- Team Report
- Biography: Stadium, city, year founded
- Roster by season
- More: Current Injuries
- More: Wins/Loss home/road
- More: Who are the team handler, dump, cutter, mid
- More: What game play?
- More: How the team rank vs other teams
- More: Best Lineups (and predictions)
Usage
How to get player profile
from audl.stats.endpoints.playerprofile import PlayerProfile
# Fetching dataframe from https://theaudl.com/league/players/cbrock
player = PlayerProfile('cbrock')
career = player.get_career_stats()
reg = player.get_regular_seasons_career()
playoffs = player.get_playoffs_career()
season = player.get_season_games_stats(2019)
games_stats = player.get_career_games_stats()
How to get Team Stats
Season=['career', 2022, ..., 2012] Per=['total', 'game'] Team=['team', 'opponent']
from audl.stats.endpoints.teamstats import TeamStats
# fetching from: https://theaudl.com/stats/team
team_stats = TeamStats('career', 'game', 'opponent') # TeamStats(season, per, team)
df = team_stats.get_table()
How to get Player Stats
Season=['career', 2022, ..., 2012] Per=['total', 'game', 'points', 'possessions', 'minutes']
from audl.stats.endpoints.playerstats import PlayerStats
# from https://theaudl.com/stats/player-stats
playerstats = PlayerStats('career', 'total', 'breeze').fetch_table() # PlayerStats(season, per, team)
How to fetch season schedule
from audl.stats.endpoints.seasonschedule import SeasonSchedule, TeamSeasonSchedule, AllSchedule, TeamSeasonAgainstOpponentSchedule
# Fetch complete season schedule from https://theaudl.com/league/game-search
from audl.stats.endpoints.seasonschedule import SeasonSchedule, TeamSeasonSchedule, AllSchedule, TeamSeasonAgainstOpponentSchedule
# Fetch complete season schedule from https://theaudl.com/league/game-search
season_schedule = SeasonSchedule(2022).get_schedule()
team_season_schedule = TeamSeasonSchedule(2022, 'royal').get_schedule()
all_schedule = AllSchedule().get_schedule()
team_season_against_opponent = TeamSeasonAgainstOpponentSchedule(2022, 'royal', 'rush').get_schedule()
How to get game statistics
from audl.stats.endpoints.gamestats import GameStats
# Fetching Box Scores from https://theaudl.com/stats/game/2021-06-05-RAL-ATL
game = GameStats("2021-06-05-RAL-ATL")
teams = game.get_teams_metadata()
players = game.get_players_metadata()
game_metadata = game.get_game_metadata()
team_stats = game.get_team_stats()
roster = game.get_roster_stats()
scoring_time = game._get_scoring_time()
boxscores = game.get_boxscores()
events = game.get_events()
throw_selection = game.get_throw_selection()
thrower_receiver_count = game.get_thrower_receiver_count(True)
lineup = game.get_lineup_frequency(True)
teamates = game.get_teamates_selection('ataylor', True)
# print game events
game.print_team_events(True)
game.print_team_events(False)
How to get Team Game Stats
from audl.stats.endpoints.teamgamestats import AllTeamGameStats, SeasonGameStats, TeamSeasonGameStats
team_season = TeamSeasonGameStats(2022, 'royal').get_game_stats()
all_games = AllTeamGameStats().get_game_stats()
season_games = SeasonGameStats(2022).get_game_stats()
Exploration
- Proportion of touches per player on offensive points
- Proportion of passes to teamates for each players (see connection)
- Who is the best in the rain? (player efficiency vs temperature)
- Most likely player to blow up
- Player Report
Tree
How to ...
How to deploy pip package
python3 -m build
python3 -m twine upload --repository testpypi dist/*
twine upload dist/*
How to generate documentation with pdoc3
pdoc --html audl
mv html/ docs/
How to contribute
Ressources
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
audl-0.0.7.tar.gz
(20.6 kB
view hashes)
Built Distribution
audl-0.0.7-py3-none-any.whl
(25.6 kB
view hashes)