Skip to main content

Python client for NBA statistics located at nba.com

Project description

Actions Status PyPI Downloads

nbapy - stats.nba.com API for python

Summary

A python facing API for stats.nba.com

Warning stats.nba.com is notorious for being extremely unreliable. Please report any issues you find.

Usage

All data is returned as a pandas dataframe (check out the starter docs if you're new to pandas). For example:

from nbapy import game
import pandas as pd

game_id = '0021900017'  # taken from 'https://stats.nba.com/game/0021900017/'
stats = pd.DataFrame(game.BoxScore(game_id).players_stats())

If you want to cache results so you don't have to reach the api every time, you can use requests-cache

from nbapy import game
import pandas as pd
import requests_cache

requests_cache.install_cache('nbapy_cache')

game_id = '0021900017'
stats = pd.DataFrame(game.BoxScore(game_id).players_stats())

Documentation

An ongoing process, but check out the jupyter notebook docs, or feel free to poke around the codebase.

Installation

To install from pypi:

$ pip install nbapy

Else:

  • Download from source (git clone, zipped package)
  • Run from the root directory:
$ pip install .

Contributing

1. Fork the repository and create a feature/bug fix branch

2. Install development requirements

$ pip install -e . ".[dev]"

3. Hack away

Coding conventions

Optional (but recommended)

nbapy has a pre-commit file that you can install to automatically enforce these conventions prior to committing via a git hook.

To install: $ pre-commit install

You can also use $ pre-commit run -a to run the checks manually.

4. Create some tests

5. Make sure everything looks good

$ pytest --cov*

$ pre-commit run -a (if you didn't install the pre-commit git hook)

* note the first time you run this, it may take a few minutes. However, the requests will cache, and subsequent runs should be much faster.

6. Submit a pull request

Other ways to contribute involve submitting any issues or adding some documentation!

To-Do

  • Finish Jupyter Notebook documentation

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

nbapy-1.1.6.tar.gz (18.4 kB view hashes)

Uploaded Source

Built Distribution

nbapy-1.1.6-py3-none-any.whl (21.9 kB view hashes)

Uploaded Python 3

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