Data Loaders

The data loader modules are used to load data for a specific resource either from file stored on disk or via an API request.

Data Loader Factory

DataLoaderFactory can be used to create data loader objects from the data_loader module.

The following code will create a data loader object for loading enhanced pbp from stats.nba.com.

from pbpstats.data_loader.factory import DataLoaderFactory

data_loader = DataLoaderFactory()
stats_enhanced_pbp_data_loader = data_loader.get_data_loader("stats_nba", "EnhancedPbp")
print(stats_enhanced_pbp_data_loader[0])
# prints "<class 'pbpstats.data_loader.stats_nba.enhanced_pbp_loader.StatsNbaEnhancedPbpLoader'>"
class pbpstats.data_loader.factory.DataLoaderFactory[source]

Bases: object

Class for factory of data loader classes. On initialization will load in all data loader classes in data_loader module

get_data_loader(data_provider, resource)[source]

Gets data loader classes for given data provider and resource.

Parameters:
  • data_provider (str) – Which data provider should data be loaded from. Options are ‘stats_nba’ or ‘data_nba’ or ‘live’
  • resource (str) – Name of class from resources directory
Returns:

list of data loader classes

Return type:

list

Enhanced PBP Loader

class pbpstats.data_loader.nba_enhanced_pbp_loader.NbaEnhancedPbpLoader[source]

Bases: object

Class for shared methods between DataNbaEnhancedPbpLoader and StatsNbaEnhancedPbpLoader

Both DataNbaEnhancedPbpLoader and StatsNbaEnhancedPbpLoader should inherit from this class

This class should not be instantiated directly

Possession Loader

class pbpstats.data_loader.nba_possession_loader.NbaPossessionLoader[source]

Bases: object

Class for shared methods between DataNbaPossessionLoader and StatsNbaPossessionLoader

Both DataNbaPossessionLoader and StatsNbaPossessionLoader should inherit from this class

This class should not be instantiated directly