Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dlo-0.2.1.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

dlo-0.2.1-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

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

Hashes for dlo-0.2.1.tar.gz
Algorithm Hash digest
SHA256 6f5a95ed0acdf7e632c942dea58f347a0e337223950ca81d3d840365b85f8d5c
MD5 612028fc911071b85b336d2620664744
BLAKE2b-256 2f5b409484c7c44c0a954207c130322ddf0f2d92b89f9debc29deba8c7553413

See more details on using hashes here.

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

Hashes for dlo-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 97946a6dd2b0fd0853bf0eb357ee2e57190ebb5a3b0a915b17bb2aa1c0d778cf
MD5 40b033e32cb798d98ce8ee7355d706d9
BLAKE2b-256 3a7e0648248abecb09ca4b786a7057c5abd897bd9100f5757abe00cd3e1003b9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page