Welcome to The NBA Database Code Base Docs Site πŸ‘‹ πŸ€

The NBA Database Cover Image

Here, you can find info on setup, usage, and development of the NBA Database code base


About#

This site contains all relevant information for the code base associated with the NBA Database on Kaggle.

The nba_db package contains the associated code base responsible for producing the NBA Database on Kaggle.

The package is written in Python3 and can be utilized by scripting or in a Jupyter Environment (e.g. JupyterLab or Jupyter Notebook).


Site Contents#

Getting Started

Visit here for information on installation, development environment initialization and configuration, and project usage notes.

User Guide

Catch up on relevant project documentation (e.g. data schemas, package usage, etc.).

API Reference

View the API reference for a complete list of all modules and functions within the package.

Developer Guide

See the developer guide for information on contributing to the project.


Project Features#

  • Custom Python3 package for the efficient extraction and compilation of nba_api data.

    • pandera for data schema definition and validation.

  • Poetry for Python packaging and dependency management.

  • Sphinx Python package documentation site.

    • PyData Theme

    • Open Sans font via Google Fonts

    • Sphinx Extensions include:

      • sphinx.ext.autodoc – Include documentation from docstrings

      • sphinx.ext.autosectionlabel – Allow reference sections using its title

      • sphinx.ext.autosummary – Generate autodoc summaries

      • sphinx.ext.graphviz – Add Graphviz graphs

      • sphinx.ext.napoleon – Support for NumPy and Google style docstrings

      • sphinx.ext.todo – Support for todo items

      • sphinx.ext.viewcode – Add links to highlighted source code

      • sphinx_git

        • sphinx-git is an extension to the Sphinx documentation tool that allows you to include excerpts from your git history within your documentation. This could be used for release changelogs, to pick out specific examples of history in documentation, or just to surface what is happening in the project.

      • sphinx_markdown_builder – sphinx builder that outputs markdown files.

      • sphinx_copybutton – add a little β€œcopy” button to the right of your code blocks.

      • sphinx_design – A sphinx extension for designing beautiful, screen-size responsive web-components.

      • myst_parser – A Sphinx and Docutils extension to parse MyST, a rich and extensible flavour of Markdown for authoring technical and scientific documentation.

      • sphinxcontrib.mermaid – embed Mermaid graphs in your documents, including general flowcharts, sequence and gantt diagrams.

      • sphinx-hoverxref – show a floating window (tooltips or modal dialogues) on the cross references of the documentation embedding the content of the linked section on them. With sphinx-hoverxref, you don’t need to click a link to see what’s in there.

      • sphinx-sitemap – A Sphinx extension to generate multi-version and multi-language sitemaps.org compliant sitemaps for the HTML version of your Sphinx documentation.

      • sphinx_togglebutton – A small sphinx extension to add β€œtoggle button” elements to sections of your page. For example:

        • This is a toggle button

      • sphinx_favicon – A Sphinx extension to add custom favicons. With Sphinx Favicon, you can add custom favicons to your Sphinx HTML documentation.

  • isort – a Python utility / library to sort imports alphabetically, and automatically separated into sections and by type. It provides a command line utility, Python library and plugins for various editors to quickly sort all your imports.

  • Black – uncompromising code formatter.

  • Pylint – is a static code analyser for Python 2 or 3. The latest version supports Python 3.7.2 and above. Pylint analyses your code without actually running it. It checks for errors, enforces a coding standard, looks for code smells, and can make suggestions about how the code could be refactored.

  • autoflake – Removes unused imports and unused variables as reported by pyflakes.

  • pylama – Code audit tool for python.

  • hypothesis – Python library for creating unit tests which are simpler to write and more powerful when run, finding edge cases in your code you wouldn’t have thought to look for. It is stable, powerful and easy to add to any existing test suite.

  • pytest – The pytest framework makes it easy to write small, readable tests, and can scale to support complex functional testing for applications and libraries.

    • Extensions include:

      • pytest-sugar – This plugin extends pytest by showing failures and errors instantly, adding a progress bar, improving the test results, and making the output look better.

      • pytest-emoji – A pytest plugin that adds emojis to your test result report 😍

      • pytest-html – plugin for pytest that generates a HTML report for test results.

      • pytest-icdiff – better error messages for assert equals in pytest.

      • pytest-instafail – py.test plugin to show failures instantly.

      • pytest-timeout – This plugin will time each test and terminate it when it takes too long. Termination may or may not be graceful, please see below, but when aborting it will show a stack dump of all thread running at the time. This is useful when running tests under a continuous integration server or simply if you don’t know why the test suite hangs.

      • pytest-benchmark – py.test fixture for benchmarking code.

      • pytest-cov – Coverage plugin for pytest.

      • pytest-xdist – extends pytest with new test execution modes, the most used being distributing tests across multiple CPUs to speed up test execution.

  • tabulate – Pretty-print tabular data in Python, a library and a command-line utility.


Indices and tables#


Change Log#

  • Update update.py by Wyatt Walsh at 2023-11-04 20:31:51

  • update by wyatt at 2023-07-04 00:36:44

  • merging by wyatt at 2023-05-04 07:36:14

  • local by wyatt at 2023-05-04 07:35:17

  • Update extract.py by Wyatt Walsh at 2023-04-29 18:25:01

  • Update extract.py by Wyatt Walsh at 2023-04-29 18:13:18

  • Update extract.py by Wyatt Walsh at 2023-04-29 18:04:56

  • Update extract.py by Wyatt Walsh at 2023-04-29 17:53:07

  • Update extract.py by Wyatt Walsh at 2023-04-29 17:27:36

  • Update extract.py by Wyatt Walsh at 2023-04-29 17:24:09