jlglam / nba_api

An API Client package to access the APIs for NBA.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PyPI CircleCI (all branches) GitHub GitHub

nba_api

An API Client package to access the APIs for NBA.com

Development Version: v1.1.11

nba_api is an API Client for www.nba.com. This package is meant to make the API Endpoints more accessible and to provide extensive documentation.

The APIs on www.nba.com are largely undocumented and change frequently.

Please feel free to contribute and have an open discussion regarding improvements and additional APIs to be mapped.

Recent Changes

  • Adding individual proxy, headers, and timeout support for requests. Usage

Mapped API Clients

  1. stats.nba.com - stats

Have Questions or Need Help?

Please try to avoid sending questions to my personal email that regard researching a solution to your specific problem. I don't mind helping, but the library has been setup with expansive documentation that should be checked first prior to reaching out to me personally. Alternatively, there are other places where you can ask for general advice that has been listed below.

Slack Channel

There has been a public slack channel that has been setup for people to chat and receive help.

Stack Overflow

A tag has been set up for people to use when asking for help on Stack Overflow. Please tag posts with the nba-api tag.

Use

Installation

pip install nba_api

Required and Optional Packages:

Usage Examples

  • Basic Usage -- The basics of calling an API endpoint.
  • Jupyter Notebooks -- Larger practical examples in Jupyter Notebook format, including looking for play-by-play data for a particular game.

Documentation

Contributing and Development

Development

To get started developing, clone the repo and cd into it. Then, in an environment (conda or virtualenv) where you have not yet installed nba_api, run

python -m pip install -e .

This command will install the package for development, such that any changes you make in the repo will be reflected the next time you import the package in Python.

Testing

If you make a change to the package, it's important to verify everything still works. Do so by first installing the package for development, with the -e flag (see Development above), and then running

pytest

on the command line from the base directory of the repo. The pytest utility will run through all the package tests and print output throughout, informing you of any failures.

Contributing

We're always looking for people to help! Some examples of ways to get involved are:

  • fix a bug
  • add a feature
  • create or improve documentation and examples

Just fork this repo, make your changes (see Development above), and issue a pull request.

Other

Endpoint Analysis

A major purpose of this package is to map and analyze as many endpoints on NBA.com as possible. The documentation and analysis on the Endpoints and Parameters found in this package is some of the most extensive information available on these largely undocumented Endpoints. Please open an issue with any additional Endpoints/APIs.

Examples for Other Clients

Endpoint Analysis JSON for use with other clients

About

An API Client package to access the APIs for NBA.com

License:MIT License


Languages

Language:Python 100.0%