isapy-data 0.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. isapy_data-0.1.2/LICENSE +21 -0
  2. isapy_data-0.1.2/PKG-INFO +115 -0
  3. isapy_data-0.1.2/README.md +85 -0
  4. isapy_data-0.1.2/pyproject.toml +48 -0
  5. isapy_data-0.1.2/setup.cfg +4 -0
  6. isapy_data-0.1.2/src/isapy_data/__init__.py +204 -0
  7. isapy_data-0.1.2/src/isapy_data/data/avs_roster_2021.csv +27 -0
  8. isapy_data-0.1.2/src/isapy_data/data/avs_roster_2022.csv +25 -0
  9. isapy_data-0.1.2/src/isapy_data/data/avs_stats_2021.csv +189 -0
  10. isapy_data-0.1.2/src/isapy_data/data/avs_stats_2022.csv +163 -0
  11. isapy_data-0.1.2/src/isapy_data/data/dk_edm_col.csv +253 -0
  12. isapy_data-0.1.2/src/isapy_data/data/dk_lac_dal.csv +69 -0
  13. isapy_data-0.1.2/src/isapy_data/data/dk_mem_utah.csv +69 -0
  14. isapy_data-0.1.2/src/isapy_data/data/dk_nyr_car.csv +253 -0
  15. isapy_data-0.1.2/src/isapy_data/data/epl_gk_stats_2022.csv +43 -0
  16. isapy_data-0.1.2/src/isapy_data/data/epl_gk_stats_2023.csv +40 -0
  17. isapy_data-0.1.2/src/isapy_data/data/epl_gk_stats_2024.csv +41 -0
  18. isapy_data-0.1.2/src/isapy_data/data/epl_gk_stats_2025.csv +45 -0
  19. isapy_data-0.1.2/src/isapy_data/data/epl_player_stats_2022.csv +546 -0
  20. isapy_data-0.1.2/src/isapy_data/data/epl_player_stats_2023.csv +570 -0
  21. isapy_data-0.1.2/src/isapy_data/data/epl_player_stats_2024.csv +581 -0
  22. isapy_data-0.1.2/src/isapy_data/data/epl_player_stats_2025.csv +575 -0
  23. isapy_data-0.1.2/src/isapy_data/data/epl_team_stats.csv +101 -0
  24. isapy_data-0.1.2/src/isapy_data/data/epl_team_stats_2023.csv +21 -0
  25. isapy_data-0.1.2/src/isapy_data/data/epl_team_stats_2024.csv +21 -0
  26. isapy_data-0.1.2/src/isapy_data/data/epl_team_stats_2025.csv +21 -0
  27. isapy_data-0.1.2/src/isapy_data/data/masters.csv +88 -0
  28. isapy_data-0.1.2/src/isapy_data/data/nba_adv_team_2021.csv +2161 -0
  29. isapy_data-0.1.2/src/isapy_data/data/nba_adv_team_2023.csv +2461 -0
  30. isapy_data-0.1.2/src/isapy_data/data/nba_adv_team_2024.csv +2461 -0
  31. isapy_data-0.1.2/src/isapy_data/data/nba_adv_team_2025.csv +2461 -0
  32. isapy_data-0.1.2/src/isapy_data/data/nba_ff_team_2021.csv +2161 -0
  33. isapy_data-0.1.2/src/isapy_data/data/nba_ff_team_2023.csv +2461 -0
  34. isapy_data-0.1.2/src/isapy_data/data/nba_ff_team_2024.csv +2461 -0
  35. isapy_data-0.1.2/src/isapy_data/data/nba_ff_team_2025.csv +2461 -0
  36. isapy_data-0.1.2/src/isapy_data/data/nba_games_2021.csv +2161 -0
  37. isapy_data-0.1.2/src/isapy_data/data/nba_games_2023.csv +2461 -0
  38. isapy_data-0.1.2/src/isapy_data/data/nba_games_2024.csv +2461 -0
  39. isapy_data-0.1.2/src/isapy_data/data/nba_games_2025.csv +2461 -0
  40. isapy_data-0.1.2/src/isapy_data/data/nba_nuggets_shots.csv +62197 -0
  41. isapy_data-0.1.2/src/isapy_data/data/nhl_data_hockey_reference.csv +12376 -0
  42. isapy_data-0.1.2/src/isapy_data/data/nhl_team_stats_2021.csv +33 -0
  43. isapy_data-0.1.2/src/isapy_data/data/nhl_team_stats_2022.csv +33 -0
  44. isapy_data-0.1.2/src/isapy_data/data/nwsl_player_stats.csv +315 -0
  45. isapy_data-0.1.2/src/isapy_data/data/nwsl_player_stats_2023.csv +308 -0
  46. isapy_data-0.1.2/src/isapy_data/data/nwsl_player_stats_2024.csv +377 -0
  47. isapy_data-0.1.2/src/isapy_data/data/ow_golf_rankings.csv +301 -0
  48. isapy_data-0.1.2/src/isapy_data/data/pga_tournaments.csv +3677 -0
  49. isapy_data-0.1.2/src/isapy_data.egg-info/PKG-INFO +115 -0
  50. isapy_data-0.1.2/src/isapy_data.egg-info/SOURCES.txt +51 -0
  51. isapy_data-0.1.2/src/isapy_data.egg-info/dependency_links.txt +1 -0
  52. isapy_data-0.1.2/src/isapy_data.egg-info/requires.txt +6 -0
  53. isapy_data-0.1.2/src/isapy_data.egg-info/top_level.txt +1 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Ryan Elmore
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,115 @@
1
+ Metadata-Version: 2.4
2
+ Name: isapy-data
3
+ Version: 0.1.2
4
+ Summary: Data package for Introduction to Sports Analytics using Python
5
+ Author-email: Ryan Elmore <ryan.elmore@du.edu>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/rtelmore/ISAPy
8
+ Project-URL: Repository, https://github.com/rtelmore/ISAPy
9
+ Project-URL: Documentation, https://datacolorado.com/python/ISAPy/
10
+ Keywords: sports,analytics,data,statistics,python
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Intended Audience :: Education
13
+ Classifier: Intended Audience :: Science/Research
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.9
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Topic :: Scientific/Engineering
21
+ Requires-Python: >=3.9
22
+ Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ Requires-Dist: pandas>=1.5.0
25
+ Provides-Extra: dev
26
+ Requires-Dist: pytest>=7.0; extra == "dev"
27
+ Requires-Dist: build; extra == "dev"
28
+ Requires-Dist: twine; extra == "dev"
29
+ Dynamic: license-file
30
+
31
+ # isapy-data
32
+
33
+ [![PyPI version](https://img.shields.io/pypi/v/isapy-data)](https://pypi.org/project/isapy-data/)
34
+ [![PyPI downloads](https://img.shields.io/pypi/dm/isapy-data)](https://pypi.org/project/isapy-data/)
35
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
36
+ [![Python versions](https://img.shields.io/pypi/pyversions/isapy-data)](https://pypi.org/project/isapy-data/)
37
+
38
+ This is the repository for the python data module (author: Ryan Elmore) to accompany the forthcoming textbook *Introduction to Sports Analytics using Python* by Ryan Elmore and Andrew Urbaczewski.
39
+
40
+ ## PyPI
41
+
42
+ [View the project on PyPI](https://pypi.org/project/isapy-data/)
43
+
44
+ ## Installation
45
+
46
+ ```bash
47
+ pip install isapy-data
48
+ ```
49
+
50
+ For development:
51
+
52
+ ```bash
53
+ pip install -e ".[dev]"
54
+ ```
55
+
56
+ ## Usage
57
+
58
+ ```python
59
+ import isapy_data
60
+
61
+ # List all available datasets
62
+ isapy_data.list_datasets()
63
+
64
+ # Load a dataset
65
+ masters = isapy_data.load_data("masters")
66
+
67
+ # Get information about a specific dataset
68
+ isapy_data.describe("masters")
69
+
70
+ # Print info about all datasets
71
+ isapy_data.info()
72
+ ```
73
+
74
+ ## Available Datasets
75
+
76
+ ### Golf
77
+ - `masters` - Masters Tournament data
78
+ - `ow_golf_rankings` - Official World Golf Rankings
79
+ - `pga_tournaments` - PGA Tour tournament data
80
+
81
+ ### NBA
82
+ - `nba_adv_team_2021`, `nba_adv_team_2023`, `nba_adv_team_2024`, `nba_adv_team_2025` - Advanced team statistics
83
+ - `nba_ff_team_2021`, `nba_ff_team_2023`, `nba_ff_team_2024`, `nba_ff_team_2025` - Four factors team statistics
84
+ - `nba_games_2021`, `nba_games_2023`, `nba_games_2024`, `nba_games_2025` - Game results
85
+ - `nba_nuggets_shots` - Denver Nuggets shot location data
86
+
87
+ ### NHL
88
+ - `avs_roster_2021`, `avs_roster_2022` - Colorado Avalanche roster data
89
+ - `avs_stats_2021`, `avs_stats_2022` - Colorado Avalanche player statistics
90
+ - `nhl_data_hockey_reference` - NHL data from Hockey Reference
91
+ - `nhl_team_stats_2021`, `nhl_team_stats_2022` - NHL team statistics
92
+
93
+ ### English Premier League
94
+ - `epl_gk_stats_2022` through `epl_gk_stats_2025` - Goalkeeper statistics
95
+ - `epl_player_stats_2022` through `epl_player_stats_2025` - Player statistics
96
+ - `epl_team_stats`, `epl_team_stats_2023`, `epl_team_stats_2024`, `epl_team_stats_2025` - Team statistics
97
+
98
+ ### NWSL
99
+ - `nwsl_player_stats`, `nwsl_player_stats_2023`, `nwsl_player_stats_2024` - Player statistics
100
+
101
+ ### DraftKings
102
+ - `dk_edm_col` - Edmonton vs Colorado
103
+ - `dk_lac_dal` - LA Clippers vs Dallas
104
+ - `dk_mem_utah` - Memphis vs Utah
105
+ - `dk_nyr_car` - NY Rangers vs Carolina
106
+
107
+ ## License
108
+
109
+ MIT
110
+
111
+ ## Citation
112
+
113
+ If you use this data in your research, please cite:
114
+
115
+ > Elmore, R. (2025). *Introduction to Sports Analytics using Python*.
@@ -0,0 +1,85 @@
1
+ # isapy-data
2
+
3
+ [![PyPI version](https://img.shields.io/pypi/v/isapy-data)](https://pypi.org/project/isapy-data/)
4
+ [![PyPI downloads](https://img.shields.io/pypi/dm/isapy-data)](https://pypi.org/project/isapy-data/)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
+ [![Python versions](https://img.shields.io/pypi/pyversions/isapy-data)](https://pypi.org/project/isapy-data/)
7
+
8
+ This is the repository for the python data module (author: Ryan Elmore) to accompany the forthcoming textbook *Introduction to Sports Analytics using Python* by Ryan Elmore and Andrew Urbaczewski.
9
+
10
+ ## PyPI
11
+
12
+ [View the project on PyPI](https://pypi.org/project/isapy-data/)
13
+
14
+ ## Installation
15
+
16
+ ```bash
17
+ pip install isapy-data
18
+ ```
19
+
20
+ For development:
21
+
22
+ ```bash
23
+ pip install -e ".[dev]"
24
+ ```
25
+
26
+ ## Usage
27
+
28
+ ```python
29
+ import isapy_data
30
+
31
+ # List all available datasets
32
+ isapy_data.list_datasets()
33
+
34
+ # Load a dataset
35
+ masters = isapy_data.load_data("masters")
36
+
37
+ # Get information about a specific dataset
38
+ isapy_data.describe("masters")
39
+
40
+ # Print info about all datasets
41
+ isapy_data.info()
42
+ ```
43
+
44
+ ## Available Datasets
45
+
46
+ ### Golf
47
+ - `masters` - Masters Tournament data
48
+ - `ow_golf_rankings` - Official World Golf Rankings
49
+ - `pga_tournaments` - PGA Tour tournament data
50
+
51
+ ### NBA
52
+ - `nba_adv_team_2021`, `nba_adv_team_2023`, `nba_adv_team_2024`, `nba_adv_team_2025` - Advanced team statistics
53
+ - `nba_ff_team_2021`, `nba_ff_team_2023`, `nba_ff_team_2024`, `nba_ff_team_2025` - Four factors team statistics
54
+ - `nba_games_2021`, `nba_games_2023`, `nba_games_2024`, `nba_games_2025` - Game results
55
+ - `nba_nuggets_shots` - Denver Nuggets shot location data
56
+
57
+ ### NHL
58
+ - `avs_roster_2021`, `avs_roster_2022` - Colorado Avalanche roster data
59
+ - `avs_stats_2021`, `avs_stats_2022` - Colorado Avalanche player statistics
60
+ - `nhl_data_hockey_reference` - NHL data from Hockey Reference
61
+ - `nhl_team_stats_2021`, `nhl_team_stats_2022` - NHL team statistics
62
+
63
+ ### English Premier League
64
+ - `epl_gk_stats_2022` through `epl_gk_stats_2025` - Goalkeeper statistics
65
+ - `epl_player_stats_2022` through `epl_player_stats_2025` - Player statistics
66
+ - `epl_team_stats`, `epl_team_stats_2023`, `epl_team_stats_2024`, `epl_team_stats_2025` - Team statistics
67
+
68
+ ### NWSL
69
+ - `nwsl_player_stats`, `nwsl_player_stats_2023`, `nwsl_player_stats_2024` - Player statistics
70
+
71
+ ### DraftKings
72
+ - `dk_edm_col` - Edmonton vs Colorado
73
+ - `dk_lac_dal` - LA Clippers vs Dallas
74
+ - `dk_mem_utah` - Memphis vs Utah
75
+ - `dk_nyr_car` - NY Rangers vs Carolina
76
+
77
+ ## License
78
+
79
+ MIT
80
+
81
+ ## Citation
82
+
83
+ If you use this data in your research, please cite:
84
+
85
+ > Elmore, R. (2025). *Introduction to Sports Analytics using Python*.
@@ -0,0 +1,48 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "isapy-data"
7
+ version = "0.1.2"
8
+ description = "Data package for Introduction to Sports Analytics using Python"
9
+ readme = "README.md"
10
+ license = {text = "MIT"}
11
+ authors = [
12
+ {name = "Ryan Elmore", email = "ryan.elmore@du.edu"},
13
+ ]
14
+ keywords = ["sports", "analytics", "data", "statistics", "python"]
15
+ classifiers = [
16
+ "Development Status :: 3 - Alpha",
17
+ "Intended Audience :: Education",
18
+ "Intended Audience :: Science/Research",
19
+ "License :: OSI Approved :: MIT License",
20
+ "Programming Language :: Python :: 3",
21
+ "Programming Language :: Python :: 3.9",
22
+ "Programming Language :: Python :: 3.10",
23
+ "Programming Language :: Python :: 3.11",
24
+ "Programming Language :: Python :: 3.12",
25
+ "Topic :: Scientific/Engineering",
26
+ ]
27
+ requires-python = ">=3.9"
28
+ dependencies = [
29
+ "pandas>=1.5.0",
30
+ ]
31
+
32
+ [project.optional-dependencies]
33
+ dev = [
34
+ "pytest>=7.0",
35
+ "build",
36
+ "twine",
37
+ ]
38
+
39
+ [project.urls]
40
+ Homepage = "https://github.com/rtelmore/ISAPy"
41
+ Repository = "https://github.com/rtelmore/ISAPy"
42
+ Documentation = "https://datacolorado.com/python/ISAPy/"
43
+
44
+ [tool.setuptools.packages.find]
45
+ where = ["src"]
46
+
47
+ [tool.setuptools.package-data]
48
+ isapy_data = ["data/*.csv"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,204 @@
1
+ """
2
+ ISAPy: Data package for Introduction to Sports Analytics using Python.
3
+
4
+ This package provides datasets for the textbook "Introduction to Sports
5
+ Analytics using Python" by Ryan Elmore.
6
+
7
+ Usage
8
+ -----
9
+ import isapy_data
10
+
11
+ # Load a dataset
12
+ df = isapy_data.load_data("masters")
13
+
14
+ # List all available datasets
15
+ isapy_data.list_datasets()
16
+
17
+ # Get information about a dataset
18
+ isapy_data.describe("masters")
19
+ """
20
+
21
+ from importlib.resources import files
22
+ from pathlib import Path
23
+ from typing import Optional
24
+
25
+ import pandas as pd
26
+
27
+ __version__ = "0.1.0"
28
+ __author__ = "Ryan Elmore"
29
+
30
+ # Dataset descriptions
31
+ _DATASET_INFO = {
32
+ "avs_roster_2021": "Colorado Avalanche roster data for 2020-21 season",
33
+ "avs_roster_2022": "Colorado Avalanche roster data for 2021-22 season",
34
+ "avs_stats_2021": "Colorado Avalanche player statistics for 2020-21 season",
35
+ "avs_stats_2022": "Colorado Avalanche player statistics for 2021-22 season",
36
+ "dk_edm_col": "DraftKings data for Edmonton vs Colorado game",
37
+ "dk_lac_dal": "DraftKings data for LA Clippers vs Dallas game",
38
+ "dk_mem_utah": "DraftKings data for Memphis vs Utah game",
39
+ "dk_nyr_car": "DraftKings data for NY Rangers vs Carolina game",
40
+ "epl_gk_stats_2022": "English Premier League goalkeeper statistics for 2021-22 season",
41
+ "epl_gk_stats_2023": "English Premier League goalkeeper statistics for 2022-23 season",
42
+ "epl_gk_stats_2024": "English Premier League goalkeeper statistics for 2023-24 season",
43
+ "epl_gk_stats_2025": "English Premier League goalkeeper statistics for 2024-25 season",
44
+ "epl_player_stats_2022": "English Premier League player statistics for 2021-22 season",
45
+ "epl_player_stats_2023": "English Premier League player statistics for 2022-23 season",
46
+ "epl_player_stats_2024": "English Premier League player statistics for 2023-24 season",
47
+ "epl_player_stats_2025": "English Premier League player statistics for 2024-25 season",
48
+ "epl_team_stats": "English Premier League team statistics",
49
+ "epl_team_stats_2023": "English Premier League team statistics for 2022-23 season",
50
+ "epl_team_stats_2024": "English Premier League team statistics for 2023-24 season",
51
+ "epl_team_stats_2025": "English Premier League team statistics for 2024-25 season",
52
+ "masters": "Masters Tournament golf data",
53
+ "nba_adv_team_2021": "NBA advanced team statistics for 2020-21 season",
54
+ "nba_adv_team_2023": "NBA advanced team statistics for 2022-23 season",
55
+ "nba_adv_team_2024": "NBA advanced team statistics for 2023-24 season",
56
+ "nba_adv_team_2025": "NBA advanced team statistics for 2024-25 season",
57
+ "nba_ff_team_2021": "NBA four factors team statistics for 2020-21 season",
58
+ "nba_ff_team_2023": "NBA four factors team statistics for 2022-23 season",
59
+ "nba_ff_team_2024": "NBA four factors team statistics for 2023-24 season",
60
+ "nba_ff_team_2025": "NBA four factors team statistics for 2024-25 season",
61
+ "nba_games_2021": "NBA game results for 2020-21 season",
62
+ "nba_games_2023": "NBA game results for 2022-23 season",
63
+ "nba_games_2024": "NBA game results for 2023-24 season",
64
+ "nba_games_2025": "NBA game results for 2024-25 season",
65
+ "nba_nuggets_shots": "Denver Nuggets shot location data",
66
+ "nhl_data_hockey_reference": "NHL data from Hockey Reference",
67
+ "nhl_team_stats_2021": "NHL team statistics for 2020-21 season",
68
+ "nhl_team_stats_2022": "NHL team statistics for 2021-22 season",
69
+ "nwsl_player_stats": "NWSL player statistics",
70
+ "nwsl_player_stats_2023": "NWSL player statistics for 2023 season",
71
+ "nwsl_player_stats_2024": "NWSL player statistics for 2024 season",
72
+ "ow_golf_rankings": "Official World Golf Rankings data",
73
+ "pga_tournaments": "PGA Tour tournament data",
74
+ }
75
+
76
+
77
+ def _get_data_path() -> Path:
78
+ """Get the path to the data directory."""
79
+ return files("isapy_data").joinpath("data")
80
+
81
+
82
+ def list_datasets() -> list[str]:
83
+ """
84
+ List all available datasets.
85
+
86
+ Returns
87
+ -------
88
+ list[str]
89
+ Names of all available datasets.
90
+
91
+ Examples
92
+ --------
93
+ >>> import isapy_data
94
+ >>> isapy_data.list_datasets()
95
+ ['avs_roster_2021', 'avs_roster_2022', ...]
96
+ """
97
+ data_path = _get_data_path()
98
+ datasets = []
99
+ for f in data_path.iterdir():
100
+ if f.name.endswith(".csv"):
101
+ datasets.append(f.name.replace(".csv", ""))
102
+ return sorted(datasets)
103
+
104
+
105
+ def load_data(name: str) -> pd.DataFrame:
106
+ """
107
+ Load a dataset by name.
108
+
109
+ Parameters
110
+ ----------
111
+ name : str
112
+ The name of the dataset to load (without file extension).
113
+
114
+ Returns
115
+ -------
116
+ pd.DataFrame
117
+ The requested dataset as a pandas DataFrame.
118
+
119
+ Raises
120
+ ------
121
+ ValueError
122
+ If the dataset name is not found.
123
+
124
+ Examples
125
+ --------
126
+ >>> import isapy_data
127
+ >>> masters = isapy_data.load_data("masters")
128
+ >>> masters.head()
129
+ """
130
+ data_path = _get_data_path()
131
+ file_path = data_path.joinpath(f"{name}.csv")
132
+
133
+ if not file_path.is_file():
134
+ available = list_datasets()
135
+ if available:
136
+ raise ValueError(
137
+ f"Dataset '{name}' not found. Available datasets: {available}"
138
+ )
139
+ else:
140
+ raise ValueError(
141
+ f"Dataset '{name}' not found. No datasets are currently installed."
142
+ )
143
+
144
+ return pd.read_csv(file_path)
145
+
146
+
147
+ def describe(name: str) -> Optional[str]:
148
+ """
149
+ Get a description of a dataset.
150
+
151
+ Parameters
152
+ ----------
153
+ name : str
154
+ The name of the dataset.
155
+
156
+ Returns
157
+ -------
158
+ str or None
159
+ Description of the dataset, or None if not available.
160
+
161
+ Examples
162
+ --------
163
+ >>> import isapy_data
164
+ >>> isapy_data.describe("masters")
165
+ 'Masters Tournament golf data'
166
+ """
167
+ return _DATASET_INFO.get(name)
168
+
169
+
170
+ def info() -> None:
171
+ """
172
+ Print information about all available datasets.
173
+
174
+ Examples
175
+ --------
176
+ >>> import isapy_data
177
+ >>> isapy_data.info()
178
+ """
179
+ print("ISAPy: Data package for Introduction to Sports Analytics using Python")
180
+ print("=" * 70)
181
+ print(f"Version: {__version__}")
182
+ print(f"Authors: {__author__}")
183
+ print()
184
+ print("Available datasets:")
185
+ print("-" * 70)
186
+
187
+ datasets = list_datasets()
188
+ if not datasets:
189
+ print("No datasets currently installed.")
190
+ print("See the package documentation for instructions on adding data.")
191
+ return
192
+
193
+ for name in datasets:
194
+ desc = describe(name) or "No description available"
195
+ print(f" {name}: {desc}")
196
+
197
+
198
+ __all__ = [
199
+ "__version__",
200
+ "list_datasets",
201
+ "load_data",
202
+ "describe",
203
+ "info",
204
+ ]
@@ -0,0 +1,27 @@
1
+ "jersey_number","person_id","person_full_name","person_link","position_code","position_name","position_type","position_abbreviation"
2
+ 42,8476312,"Josh Manson","/api/v1/people/8476312","D","Defenseman","Defenseman","D"
3
+ 4,8481524,"Bowen Byram","/api/v1/people/8481524","D","Defenseman","Defenseman","D"
4
+ 54,8476948,"Charles Hudon","/api/v1/people/8476948","L","Left Wing","Forward","LW"
5
+ 75,8480846,"Sampo Ranta","/api/v1/people/8480846","L","Left Wing","Forward","LW"
6
+ 93,8482147,"Jean-Luc Foudy","/api/v1/people/8482147","C","Center","Forward","C"
7
+ 11,8471699,"Andrew Cogliano","/api/v1/people/8471699","C","Center","Forward","C"
8
+ 43,8471794,"Darren Helm","/api/v1/people/8471794","C","Center","Forward","C"
9
+ 6,8473446,"Erik Johnson","/api/v1/people/8473446","D","Defenseman","Defenseman","D"
10
+ 17,8476779,"Brad Hunt","/api/v1/people/8476779","D","Defenseman","Defenseman","D"
11
+ 56,8477073,"Kurtis MacDermid","/api/v1/people/8477073","D","Defenseman","Defenseman","D"
12
+ 37,8477456,"J.T. Compher","/api/v1/people/8477456","L","Left Wing","Forward","LW"
13
+ 62,8477476,"Artturi Lehkonen","/api/v1/people/8477476","L","Left Wing","Forward","LW"
14
+ 29,8477492,"Nathan MacKinnon","/api/v1/people/8477492","C","Center","Forward","C"
15
+ 13,8477501,"Valeri Nichushkin","/api/v1/people/8477501","R","Right Wing","Forward","RW"
16
+ 88,8477971,"Andreas Englund","/api/v1/people/8477971","D","Defenseman","Defenseman","D"
17
+ 7,8478038,"Devon Toews","/api/v1/people/8478038","D","Defenseman","Defenseman","D"
18
+ 96,8478420,"Mikko Rantanen","/api/v1/people/8478420","R","Right Wing","Forward","RW"
19
+ 9,8478542,"Evan Rodrigues","/api/v1/people/8478542","C","Center","Forward","C"
20
+ 81,8478843,"Denis Malgin","/api/v1/people/8478843","C","Center","Forward","C"
21
+ 49,8479398,"Samuel Girard","/api/v1/people/8479398","D","Defenseman","Defenseman","D"
22
+ 8,8480069,"Cale Makar","/api/v1/people/8480069","D","Defenseman","Defenseman","D"
23
+ 40,8480382,"Alexandar Georgiev","/api/v1/people/8480382","G","Goalie","Goalie","G"
24
+ 39,8480925,"Pavel Francouz","/api/v1/people/8480925","G","Goalie","Goalie","G"
25
+ 25,8481186,"Logan O'Connor","/api/v1/people/8481186","R","Right Wing","Forward","RW"
26
+ 18,8481618,"Alex Newhook","/api/v1/people/8481618","C","Center","Forward","C"
27
+ 59,8483570,"Ben Meyers","/api/v1/people/8483570","C","Center","Forward","C"
@@ -0,0 +1,25 @@
1
+ "jersey_number","person_id","person_full_name","person_link","position_code","position_name","position_type","position_abbreviation"
2
+ 20,8479525,"Ross Colton","/api/v1/people/8479525","C","Center","Forward","C"
3
+ 75,8480846,"Sampo Ranta","/api/v1/people/8480846","L","Left Wing","Forward","LW"
4
+ 4,8481524,"Bowen Byram","/api/v1/people/8481524","D","Defenseman","Defenseman","D"
5
+ 93,8482147,"Jean-Luc Foudy","/api/v1/people/8482147","C","Center","Forward","C"
6
+ 59,8483570,"Ben Meyers","/api/v1/people/8483570","C","Center","Forward","C"
7
+ 3,8471677,"Jack Johnson","/api/v1/people/8471677","D","Defenseman","Defenseman","D"
8
+ 11,8471699,"Andrew Cogliano","/api/v1/people/8471699","C","Center","Forward","C"
9
+ 12,8475793,"Ryan Johansen","/api/v1/people/8475793","C","Center","Forward","C"
10
+ 42,8476312,"Josh Manson","/api/v1/people/8476312","D","Defenseman","Defenseman","D"
11
+ 56,8477073,"Kurtis MacDermid","/api/v1/people/8477073","D","Defenseman","Defenseman","D"
12
+ 28,8477425,"Miles Wood","/api/v1/people/8477425","L","Left Wing","Forward","LW"
13
+ 62,8477476,"Artturi Lehkonen","/api/v1/people/8477476","L","Left Wing","Forward","LW"
14
+ 29,8477492,"Nathan MacKinnon","/api/v1/people/8477492","C","Center","Forward","C"
15
+ 27,8477494,"Jonathan Drouin","/api/v1/people/8477494","L","Left Wing","Forward","LW"
16
+ 13,8477501,"Valeri Nichushkin","/api/v1/people/8477501","R","Right Wing","Forward","RW"
17
+ 42,8478028,"Fredrik Olofsson","/api/v1/people/8478028","L","Left Wing","Forward","LW"
18
+ 7,8478038,"Devon Toews","/api/v1/people/8478038","D","Defenseman","Defenseman","D"
19
+ 96,8478420,"Mikko Rantanen","/api/v1/people/8478420","R","Right Wing","Forward","RW"
20
+ 15,8479362,"Riley Tufte","/api/v1/people/8479362","L","Left Wing","Forward","LW"
21
+ 49,8479398,"Samuel Girard","/api/v1/people/8479398","D","Defenseman","Defenseman","D"
22
+ 8,8480069,"Cale Makar","/api/v1/people/8480069","D","Defenseman","Defenseman","D"
23
+ 40,8480382,"Alexandar Georgiev","/api/v1/people/8480382","G","Goalie","Goalie","G"
24
+ 39,8480925,"Pavel Francouz","/api/v1/people/8480925","G","Goalie","Goalie","G"
25
+ 25,8481186,"Logan O'Connor","/api/v1/people/8481186","R","Right Wing","Forward","RW"