data.nba.com Enhanced PBP

Ejection

class pbpstats.resources.enhanced_pbp.data_nba.ejection.DataEjection(*args)[source]

Bases: pbpstats.resources.enhanced_pbp.ejection.Ejection, pbpstats.resources.enhanced_pbp.data_nba.enhanced_pbp_item.DataEnhancedPbpItem

Class for Ejection events

End of Period

class pbpstats.resources.enhanced_pbp.data_nba.end_of_period.DataEndOfPeriod(*args)[source]

Bases: pbpstats.resources.enhanced_pbp.end_of_period.EndOfPeriod, pbpstats.resources.enhanced_pbp.data_nba.enhanced_pbp_item.DataEnhancedPbpItem

Class for end of period events

Enhanced PBP Factory

DataNbaEnhancedPbpFactory can be used to create enhanced pbp event objects from the pbpstats.resources.enhanced_pbp.data_nba module based on the event type.

The following code will get the event class for event type 1 (which is the event type for a field goal make)

from pbpstats.resources.enhanced_pbp.data_nba.enhanced_pbp_factory import DataNbaEnhancedPbpFactory

factory = DataNbaEnhancedPbpFactory()
event_class = factory.get_event_class(1)
print(event_class)  # prints "<class 'pbpstats.resources.enhanced_pbp.data_nba.field_goal.DataFieldGoal'>"
class pbpstats.resources.enhanced_pbp.data_nba.enhanced_pbp_factory.DataNbaEnhancedPbpFactory[source]

Bases: object

Class for factory of event type classes. On initialization will load in all event classes in the pbpstats.resources.enhanced_pbp.data_nba module

get_event_class(event_type)[source]

Gets the class for the event based on the event_type

Parameters

event_type (int) – event action type for the event

Returns

class for event type

Enhanced PBP Item

DataEnhancedPbpItem is the base class for all data.nba.com enhanced pbp event types

class pbpstats.resources.enhanced_pbp.data_nba.enhanced_pbp_item.DataEnhancedPbpItem(item, period, game_id)[source]

Bases: pbpstats.resources.enhanced_pbp.enhanced_pbp_item.EnhancedPbpItem

Base class for enhanced pbp events from data.nba.com

Parameters
  • item (dict) – dict with event data

  • period (int) – period in which event occurs

  • game_id (str) – NBA Stats Game Id

property data

returns event as a dict

property event_stats

returns list of dicts with all stats for event

get_offense_team_id()[source]

returns team id for team on offense for event

property is_possession_ending_event

returns True if event ends a possession, False otherwise

Field Goal

class pbpstats.resources.enhanced_pbp.data_nba.field_goal.DataFieldGoal(*args)[source]

Bases: pbpstats.resources.enhanced_pbp.field_goal.FieldGoal, pbpstats.resources.enhanced_pbp.data_nba.enhanced_pbp_item.DataEnhancedPbpItem

Class for field goal events

property shot_value

returns 3 if shot is a 3 point attempt, 2 otherwise

Foul

class pbpstats.resources.enhanced_pbp.data_nba.foul.DataFoul(*args)[source]

Bases: pbpstats.resources.enhanced_pbp.foul.Foul, pbpstats.resources.enhanced_pbp.data_nba.enhanced_pbp_item.DataEnhancedPbpItem

Class for foul events

property number_of_fta_for_foul

returns the number of free throws resulting from the foul

Free Throw

class pbpstats.resources.enhanced_pbp.data_nba.free_throw.DataFreeThrow(*args)[source]

Bases: pbpstats.resources.enhanced_pbp.free_throw.FreeThrow, pbpstats.resources.enhanced_pbp.data_nba.enhanced_pbp_item.DataEnhancedPbpItem

Class for free throw events

property is_made

returns True if shot was made, False otherwise

Jump Ball

class pbpstats.resources.enhanced_pbp.data_nba.jump_ball.DataJumpBall(*args)[source]

Bases: pbpstats.resources.enhanced_pbp.jump_ball.JumpBall, pbpstats.resources.enhanced_pbp.data_nba.enhanced_pbp_item.DataEnhancedPbpItem

Class for jump ball events

Rebound

class pbpstats.resources.enhanced_pbp.data_nba.rebound.DataRebound(*args)[source]

Bases: pbpstats.resources.enhanced_pbp.rebound.Rebound, pbpstats.resources.enhanced_pbp.data_nba.enhanced_pbp_item.DataEnhancedPbpItem

Class for rebound events

Replay

class pbpstats.resources.enhanced_pbp.data_nba.replay.DataReplay(*args)[source]

Bases: pbpstats.resources.enhanced_pbp.replay.Replay, pbpstats.resources.enhanced_pbp.data_nba.enhanced_pbp_item.DataEnhancedPbpItem

Class for replay events

Start of Period

class pbpstats.resources.enhanced_pbp.data_nba.start_of_period.DataStartOfPeriod(*args)[source]

Bases: pbpstats.resources.enhanced_pbp.start_of_period.StartOfPeriod, pbpstats.resources.enhanced_pbp.data_nba.enhanced_pbp_item.DataEnhancedPbpItem

Class for start of period events

get_period_starters(file_directory=None)[source]

Gets player ids of players who started the period for each team

Parameters

file_directory (str) – directory in which overrides subdirectory exists containing period starter overrides when period starters can’t be determined from parsing pbp events

Returns

dict with list of player ids for each team with players on the floor at start of period

Raises

InvalidNumberOfStartersException: If all 5 players that start the period for a team can’t be determined.

Substitution

class pbpstats.resources.enhanced_pbp.data_nba.substitution.DataSubstitution(*args)[source]

Bases: pbpstats.resources.enhanced_pbp.substitution.Substitution, pbpstats.resources.enhanced_pbp.data_nba.enhanced_pbp_item.DataEnhancedPbpItem

Class for Substitution events

Timeout

class pbpstats.resources.enhanced_pbp.data_nba.timeout.DataTimeout(*args)[source]

Bases: pbpstats.resources.enhanced_pbp.timeout.Timeout, pbpstats.resources.enhanced_pbp.data_nba.enhanced_pbp_item.DataEnhancedPbpItem

Class for timeout events

Turnover

class pbpstats.resources.enhanced_pbp.data_nba.turnover.DataTurnover(*args)[source]

Bases: pbpstats.resources.enhanced_pbp.turnover.Turnover, pbpstats.resources.enhanced_pbp.data_nba.enhanced_pbp_item.DataEnhancedPbpItem

Class for Turnover events

Violation

class pbpstats.resources.enhanced_pbp.data_nba.violation.DataViolation(*args)[source]

Bases: pbpstats.resources.enhanced_pbp.violation.Violation, pbpstats.resources.enhanced_pbp.data_nba.enhanced_pbp_item.DataEnhancedPbpItem

Class for violation events