A lightweight, dynamic Python client to pull NBA data from stats.nba.com.
Project description
dlo is a lightweight, dynamic Python client to pull NBA data from stats.nba.com.
Overview
This client utilizes error messages from the stats.nba.com API to:
check whether parameter passed is valid
check whether endpoint is valid or possibly deprecated
return list of parameters for endpoint
return list of possible values for any parameters and whether required for endpoint
automatically pass required parameters with default value if not given
It is possible to build a documentation of the API given possible endpoints with this client.
Inspired by nba_py.
Installation
# stable version
pip install dlo
# latest version
git clone https://github.com/avkondepudi/dlo.git
cd ./dlo
pip install .
Dependencies
Usage
A list of endpoints can be found here. IDs (PlayerID, GameID, etc.) can be found on stats.nba.com.
>>> from dlo import Data # import module
>>> LOCAL = { # set local parameters
... "PlayerID": 1626156,
... "Season": "2018-19",
... "SeasonType": "Regular Season"
... }
>>> d = Data(**LOCAL) # create instance of Data class with local parameters
>>> d.local = LOCAL # another way to pass local parameters (recommended; deletes previous local parameters)
>>> d.local # returns local parameters passed
{"PlayerID": 1626156, "Season": "2018-19", "SeasonType": "Regular Season"}
>>> d.endpoint = "playergamelog" # set endpoint
>>> d.endpoint # returns current endpoint
"playergamelog"
>>> d.getEndpointParams() # returns list of parameters for current endpoint
['PlayerID', 'Season', 'SeasonType']
>>> d.getParamInfo("SeasonType") # returns list of values for parameter and whether required
{'regex': '^(Regular Season)|(Pre Season)|(Playoffs)|(All-Star)|(All Star)$', 'values': ['Regular Season', 'Pre Season', 'Playoffs', 'All-Star', 'All Star'], 'required': True}
>>> d.getParam("Season") # returns parameter value if passed
"2018-19"
>>> d.removeParam("Season") # value for Season (2018-19) removed
>>> d.setParam("Season", "2018-19") # two ways to set/add parameters
>>> d.Season = "2018-19"
>>> data = d.getData() # returns data (game log of D'Angelo Russell for the 2018-19 Regular Season)
>>> data_in_pandas_format = d.getData(pandify=True)
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
Built Distribution
File details
Details for the file dlo-0.2.1.tar.gz
.
File metadata
- Download URL: dlo-0.2.1.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/28.8.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.6.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f5a95ed0acdf7e632c942dea58f347a0e337223950ca81d3d840365b85f8d5c |
|
MD5 | 612028fc911071b85b336d2620664744 |
|
BLAKE2b-256 | 2f5b409484c7c44c0a954207c130322ddf0f2d92b89f9debc29deba8c7553413 |
File details
Details for the file dlo-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: dlo-0.2.1-py3-none-any.whl
- Upload date:
- Size: 16.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/28.8.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.6.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97946a6dd2b0fd0853bf0eb357ee2e57190ebb5a3b0a915b17bb2aa1c0d778cf |
|
MD5 | 40b033e32cb798d98ce8ee7355d706d9 |
|
BLAKE2b-256 | 3a7e0648248abecb09ca4b786a7057c5abd897bd9100f5757abe00cd3e1003b9 |