Skip to main content

A package to analyze college baseball stats by year and division

Project description

ncaa_bbStats (AKA CollegeBaseballStatsPackage)

ncaa_bbStats is an open-source Python package for retrieving, parsing, and analyzing Division I, II, and III college baseball team statistics (2002–2025). It also includes tools to retrieve and analyze MLB draft results of NCAA players. Built for sports analysts, developers, and fans, the package supports both live scraping from the NCAA stats site and cached JSON access for faster use.

Note
This project is under active development.


Documentation

Documentation is available at: ncaa_bbStats's ReadTheDocs


Install

Still needs testing

pip install ncaa_bbStats

Team Stats Module

Overview

This module enables you to extract season statistics for college baseball teams across all NCAA divisions. Some examples you can retrieve include:

Batting Stats: BA, HR, 2B, 3B, OBP, SLG

Pitching Stats: ERA, WHIP, K/9, SHO

Fielding Stats: FPCT, E, DP, TP

Retrieval Functions

get_team_stat(stat_name: str, team_name: str, year: int, division: int): Retrieves a specific statistic for a given team from the cached data
display_specific_team_stat(stat_name: str, search_team: str, year: int, division: int): Prints a specific statistic for a team in a readable format
display_team_stats(search_team: str, year: int, division: int): Displays all available statistics for a team for a given year and division

Statistical Analysis Functions

average_all_team_stats(team_name: str, division: int, start_year: int, end_year: int): Calculates the average of all available statistics for a team over a range of years
average_team_stat_str(team_name: str, stat_name: str, division: int, start_year: int, end_year: int): Calculates the average of a specific statistic (string type) for a team over a range of years
average_team_stat_float(team_name: str, stat_name: str, division: int, start_year: int, end_year: int): Calculates the average of a specific statistic (float type) for a team over a range of years
get_pythagenpat_expectation(runs_scored: int | float, runs_allowed: int | float): Calculates the Pythagenpat expected win percentage (using the 1.83 exponent) for a team based on runs scored and allowed
plot_team_stat_over_years(stat_name: str, team_name: str, division: int, start_year: int, end_year: int): Aggregates and plots a specified statistic for a team over a range of years

JSON Caching

Stats are stored in local JSON files (/data/team_stats_cache/) to enable fast offline access.

Draft Module

Overview

This module pulls MLB draft data for college baseball players and formats it for analysis.

Functions

parse_mlb_draft(year: int): Parses MLB draft results from Baseball Almanac for a given year (1965–2025)
get_drafted_players_mlb(team_name: str, year: int, division: int): Retrieves a list of players from the specified team drafted to MLB in a given year and division
get_drafted_players_all_years_mlb(team_name: str, division: int): Retrieves all MLB draft picks for a team across all available years in a division
get_drafted_players_college(team_name: str, year: int, division: int): Retrieves a list of players from the specified team drafted to college in a given year and division
get_drafted_players_all_years_college(team_name: str, division: int): Retrieves all college draft picks for a team across all available years in a division
print_draft_picks_mlb(team_name: str, year: int, division: int): Prints MLB draft picks for a team in a given year and division in a readable format
print_draft_picks_college(team_name: str, year: int, division: int): Prints college draft picks for a team in a given year and division in a readable format

Reference

Season Stats Reference

See full list of supported team statistics and their abbreviations in the Stats List.

Team Names

Refer to Team Name Reference for formatting options when passing team names.

Draft Team/School Names

Use the MLB Draft Name Reference for consistent naming of schools when using draft-related functions.

Planned Features

  • NCAA individual player stats

  • Team game results with win-loss tracking

  • Win probability models using in-game data

Contact

Feel free to reach out for collaboration or feedback: Mateo Biggs, mateojohn2024@gmail.com

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

ncaa_bbstats-1.0.0.tar.gz (106.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ncaa_bbstats-1.0.0-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file ncaa_bbstats-1.0.0.tar.gz.

File metadata

  • Download URL: ncaa_bbstats-1.0.0.tar.gz
  • Upload date:
  • Size: 106.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for ncaa_bbstats-1.0.0.tar.gz
Algorithm Hash digest
SHA256 294afb123aecfe0a260cf886186ce5f28b7a9a9379159dee153d88826ead3d2c
MD5 46847b3c01ba8e410efd72ce64b90187
BLAKE2b-256 b09898fac89ff5916ae466bb3140694e08a544406fd963a6a86888d3f152474c

See more details on using hashes here.

File details

Details for the file ncaa_bbstats-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: ncaa_bbstats-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for ncaa_bbstats-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1c70266eaccdbe9f372135ec9979941729de19f3bcb640f93e910e3d4f79c177
MD5 5938a917d04963c67503f5a623e06877
BLAKE2b-256 8313a0bfd83eac793e9b7405d90328a2f618818506c60d7bc6b4d4c04f3355f5

See more details on using hashes here.

Supported by

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