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
andStatsNbaEnhancedPbpLoader
Both
DataNbaEnhancedPbpLoader
andStatsNbaEnhancedPbpLoader
should inherit from this classThis 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
andStatsNbaPossessionLoader
Both
DataNbaPossessionLoader
andStatsNbaPossessionLoader
should inherit from this classThis class should not be instantiated directly