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 and cached JSON access for faster use.
Note
This project is under active development.
Documentation
Documentation is available at: ncaa_bbStats's ReadTheDocs
PyPI site: Link
Install
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
list_all_teams(year: int, division: int): Lists all teams for a given year and division
Statistical Analysis Functions
average_all_team_stats(year: int, division: int): Computes the average of all numeric values for each statistic across all teams
average_team_stat_str(stat_name: str, year: int, division: int): Returns a string representing the average value of a given statistic across all teams for the specified year and division
average_team_stat_float(stat_name: str, year: int, division: int): Returns a float representing the average value of a given statistic across all teams for the specified year and division
get_pythagorean_expectation(team_name: str, year: int, division: int): Computes Pythagorean expected win percentage
compare_pythagorean_expectation(team_name: str, year: int, division: int): Computes Pythagorean expected win percentage and compares it with the actual win percentage
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): Retrieves a list of players from the specified team drafted to MLB in a given year
get_drafted_players_all_years_mlb(team_name: str): Retrieves all MLB draft picks for a team across all available years
get_drafted_players_college(team_name: str, year: int): Retrieves a list of players from the specified team drafted to college in a given year
get_drafted_players_all_years_college(team_name: str): Retrieves all college draft picks for a team across all available years
print_draft_picks_mlb(picks: list): Prints MLB draft picks for a team in a given year in a readable format
print_draft_picks_college(picks: list): Prints college draft picks for a team in a given year 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
Support
Star this repo and share to help support!
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ncaa_bbstats-1.0.3.tar.gz.
File metadata
- Download URL: ncaa_bbstats-1.0.3.tar.gz
- Upload date:
- Size: 5.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9cd931287a4dc6a66aa466745384ea6a26704a710919d8b35efdd7bc85b563d2
|
|
| MD5 |
ee52d5e84a9fc7a257c9ef9962e770a0
|
|
| BLAKE2b-256 |
d911a5a74dccea1f7d106b97ea06d54c77b3423448a406de3b94c772266cefbd
|
File details
Details for the file ncaa_bbstats-1.0.3-py3-none-any.whl.
File metadata
- Download URL: ncaa_bbstats-1.0.3-py3-none-any.whl
- Upload date:
- Size: 5.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6a5e086b809d5861936c22a63377e80e2f8d3cd8fb695a483f942cba43df2d0
|
|
| MD5 |
4b501d94a85ec6fc8592902032ca930c
|
|
| BLAKE2b-256 |
f0d940642fc3418bd935d41231ade9ff409f1bf97bc0adc66d9df82778f56f44
|